嵌套查询--学会就起飞

在SQL语言中,一个 SELECT-FROM-WHERE 语句称为一个查询块。将一个查询块嵌套在另一个查询块的 WHERE 子句或 HAVING 短语的条件中的查询称为 嵌套查询。例如:

--查询id在年龄大于18的数据
select * from student where id in (select id from student where age>18) 
-- 查询年份最大的数据且分组
select sum(TRADE_NUM),sum(FOREIGN_INVEST),REGION from ECO_FOREIGN_TRADE where year=(select max(year) from ECO_FOREIGN_TRADE) group by REGION;

 

SQL语言允许多层嵌套查询,即一个子查询中还可以嵌套其他子查询。

 

注意:子查询的SELECT语句中不能使用 ORDER BY 子句,因为 ORDER BY 子句只能对最终查询结果排序。

 

在嵌套查询中,子查询的结果往往是一个集合,所以谓词 IN 是嵌套查询中最经常使用的谓词。

 

学会了,岂不是可以随意嵌套?还有什么查不出来的数据呢。

 

posted @ 2021-04-26 14:03  万里哥  阅读(291)  评论(0编辑  收藏  举报