数据库高级查询

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)

以上是关于数据库高级查询的主要内容,如果未能解决你的问题,请参考以下文章

MySQL数据库 高级查询

python第二模块 步骤一 第四课数据库的高级查询

第七章高级数据库查询

Hibernate 的查询语言 HQL 与高级查询

高级查询,关联查询

数据库的高级查询