首页 > 其他 > 详细

高级查询

时间:2016-12-05 17:18:17      阅读:281      评论:0      收藏:0      [点我收藏+]

1.连接查询,对结果集列的扩展
select * from info

select * from info,nation #形成笛卡尔积
select * from info,nation where info.nation=nation.code
select info.code,info.name,sex,nation.name,birthday from info,nation where info.nation=nation.code

select * from info join nation on info.nation=nation.code

2.联合查询,对结果集行的扩展
select code,name from info
union
select code,name from nation

3.子查询

父查询:外层查询
子查询:里层查询

子查询的结果做为父查询的条件

(1)无关子查询
子查询在执行的时候和父查询没有关系,子查询可以单独执行

1.查询民族为‘汉族’的所有人员信息
父查询:select * from info where nation=()
子查询:select code from nation where name=‘汉族‘

select * from info where nation=(select code from nation where name=‘汉族‘)
2.查询系列名为‘宝马5系’的所有汽车信息
select * from car where brand=(select brand_code from brand where brand_name=‘宝马5系‘)

(2)相关子查询
子查询在执行的时候和父查询有关系,子查询不可以单独执行

1.查询汽车表中油耗小于该系列平均油耗的所有汽车信息
父查询:select * from car where oil<(该系列平均油耗)
子查询:select avg(oil) from car where brand=该系列

select * from car as a where oil<(select avg(oil) from car as b where b.brand=a.brand)

高级查询

原文:http://www.cnblogs.com/zqseven/p/6134388.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!