002-MYSQL练习——组合查询内容

3、查询数据

多表查询会有重复的数据出现,没有确定关联性,只是单纯的拼接,需要用join on 的语句进行查询链接

将两个表中相同的字段作为筛选条件,最后跟上对应的具体条件

join相当于等号

where   customer.c_id=deposite.c_id——只筛选2个表相同的内容
where   customer.c_id=deposite.c_id(+)——显示deposite表中所有的内容,可能会有空的情况
where   customer.c_id(+)=deposite.c_id——显示customer表中所有的内容,可能会有空的情况

例如:查询ID101006下的所有账户的相关信息

select * from deposite 
join customer using(c_id) 
join bank using(b_id) 
where c_id='101006';
// join using 替代了join on——join on的语句
//要完整写出customer.c_id=deposite.c_id,用using更加简化

多个查询练习:

查询日期为2011-04-05这一天进行过存款的客户ID,客户姓名,银行名称,存款金额

查询工商银行存款大于等于一万的客户

查询在工商银行存款前3名的客户存款信息

——实际工商银行共有6位用户存款,需要筛选出前3(使用amount进行降序排行DESC,在返回前3行limit )

查询所有账户的内容(没有筛选条件)

多个函数结合查询——例如找出amount最大的账户的信息,若是使用MAX函数,则如下:

简单的可以用order by DESC然后limit

猜你喜欢

转载自blog.csdn.net/cathyx88x/article/details/80318184