1.联合查询(用的不多)
select code,name from info
union
select code,name from nation
对行的扩展
select code,name from nation
2.连接查询
select * from info,nation 会形成大量数据,笛卡尔积
select * from info,nation where info.nation=nation.code
select info.code,info.name,info.sex,nation.name,info.birthday from info,nation where info.nation=nation.code
select info.code,info.name,info.sex,nation.name,info.birthday from info join nation on info.nation=nation.code
left join 左连接
3.子查询(重要)
外层查询,里层查询,子查询的结果作为父查询的条件使用
无关子查询
子查询和父查询没有关系,子查询单独拿出来可以执行
1.查询民族为“汉族”的所有人员信息
select * from info where nation=(
select code from nation where name=‘汉族’)
2.查询所有厂商是“一汽大众”的汽车信息
selec * from car where brand in((select brand_code from brand where prod_code in(select prod_code from Productor where prod_name=‘一汽大众‘))
相关子查询
查询油耗低于该系列平均油耗的汽车信息
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)