MySQL 数据库 高级查询
1、连接查询
select * from Info,Nation #笛卡尔积
select * from Info,Nation where Info.Nation=Nation.Code
join on 连接
select * from Info join Nation #join连接
select * from Info join Nation on Info.Nation=Nation.Code
2、联合查询
select Code,Name from Info
union
select Code,Name from Nation
3、子查询
1)无关子查询
select * from Nation where Name='汉族' #去Nation表中查名族代号
select * from Info where Nation=(民族代号) #在Info表中查询民族代号为上一个查询结果的所有信息
select * from Info where Nation =(select * from Nation where Name='汉族')
子查询查询的结果被复查询使用,子查询可以单独执行的成为无关子查询
2)相关子查询
select * from Car where Oil<(该系列的平均油耗) #查询油耗小于该系列平均油耗
select avg(Oil) from Car where Brand = "值" #查询某系列的平均油耗
select * from Car a where Oil<(select avg(Oil) from Car b where b.Brand =a.Brand)