数据库高级查询
Posted niushuangmeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库高级查询相关的知识,希望对你有一定的参考价值。
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)
以上是关于数据库高级查询的主要内容,如果未能解决你的问题,请参考以下文章