码迷,mamicode.com
首页 > 其他好文 > 详细

高级查询

时间:2016-12-04 11:32:47      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:信息   nat   select   union   bsp   rand   不能   car   and   

高级查询

1.连接查询:

select*from info


第一个形式,
select* from info, nation #形成一个笛卡尔积 适合数据量小的时候使用
select*from info, nation where  [info.nation]info表中的nation列=nation.code

第二个形式

select* from info [join]连接 nation on info nation = nation.code


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

3.子查询(里查询)

父查询(外查询)
子查询的结果作为父查询的条件

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

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

b。查询系列名为宝马5系的所有汽车信息
select * from car where brand = ( select brand _code from brand where brand _name = ‘宝马5系‘)

(2)相关子查询
子查询在查询的时候和父查询有关系,不能单独执行
a.查询汽车表中油耗小于该系列平均油耗的所有汽车信息:
 父查询: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) 给表单加别名用as ,as后面

直接写 别名

高级查询

标签:信息   nat   select   union   bsp   rand   不能   car   and   

原文地址:http://www.cnblogs.com/gdbaby/p/6130281.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!