SQL Server子查询的深入理解

爱数据精选
爱数据精选
爱数据精选
449
文章
0
评论
2021-05-1811:43:52 评论 58 833字
摘要

这篇文章主要给大家介绍了关于SQL Server子查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

 

当由where子句指定的搜索条件指向另一张表时,就需要使用子查询或嵌套查询。

一. 子查询

子查询是一个嵌套在select、insert、update或delete语句或其他子查询中的查询。任何允许使用表达式的地方都可以使用子查询。

1.语法规则:

子查询的select查询总使用圆括号括起来,不能包括compute或for browse子句如果同时指定top子句,则可能只包括order by子句子查询最多嵌套32层,个别查询可能会不支持32层嵌套任何可以使用表达式的地方都可以使用子查询,主要它返回的是单个值如果某个表只出现在子查询中而不出现在外部查询中,那么该表中的列就无法包含在输出中

2 .语法格式

where 查询表达式 [not] in(子查询)where 查询表达式 比较运算符 [any|all] (子查询)where [not] exists (子查询)

二. 嵌套查询

嵌套查询是指将一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询。

嵌套查询中上层的查询块称为外侧查询或父查询,下层查询块称为内层查询或子查询。SQL语言允许多层嵌套,但是在子查询中不允许出现order by子句,order by子句只能用在最外层的查询中。

嵌套查询的处理方法是:先处理最内侧的子查询,然后一层一层地向上处理,直到最外层的查询块。

1. 简单的嵌套查询

子查询的运算符含有=、<>、<、>、<=、>=

三个查询:

第一个:查询年纪>25的老师所教的学生

第二个:查询年纪>25的老师

第三个:验证查询到的学生信息

SQL Server子查询的深入理解

对比:当子查询中的分那会的结果不是一个时,父查询无法正常工作

SQL Server子查询的深入理解

2.带IN的嵌套查询

当子查询返回一系列值时,适合带IN的嵌套查询。

SQL Server子查询的深入理解

3. NOT IN

SQL Server子查询的深入理解

4. SOME

SQL Server子查询的深入理解

5 .ANY

SQL Server子查询的深入理解

6. ALL

SQL Server子查询的深入理解

7 .EXIST

SQL Server子查询的深入理解

 

End.

作者:Fuzz_ 

本文为转载分享,如果涉及作品、版权和其他问题,请联系我们第一时间删除(微信号:lovedata0520)

更多文章前往首页浏览http://www.itongji.cn/

 

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: