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 Code from Nation where Name = '汉族' #去Nation表中查询汉族的民族代号

select * from Info where Nation = (民族代号) #在Info表中查询民族代号为上一个查询结果的所有信息

select * from Info where Nation = (select Code 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)

原文地址:https://www.cnblogs.com/xingfudehuanyan/p/5421549.html