SQL Server子查询的深入理解_MsSql

来源:脚本之家  责任编辑:小易  

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

1 子查询

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

1.1语法规则:

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

1.2 语法格式:

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

2 嵌套查询

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

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

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

2.1 简单的嵌套查询

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

三个查询:

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

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

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

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

2.2 带IN的嵌套查询

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

2.3 NOT IN

2.4 SOME

2.5 ANY

2.6 ALL

2.7 EXIST

总结

到此这篇关于SQL Server子查询的文章就介绍到这了,更多相关SQL Server子查询内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

您可能感兴趣的文章:使用SQL Server数据库嵌套子查询的方法SQL Server高级内容之子查询和表链接概述及使用

  • 本文相关:
  • sql not in 与not exists使用中的细微差别
  • 通过备份记录获取数据库的增长情况
  • 浅述sql server的语句类别 数据库范式 系统数据库组成
  • c#连接excel2003和excel2007以上版本做数据库的连接字符串
  • sql对数据进行按月统计或对数据进行按星期统计的实例代码
  • sqlserver 错误602,未能在sysindexes中找到数据库 的解决办法
  • sql server中select和set赋值相同点与不同点(推荐)
  • sql如何实现mysql的递归查询
  • 谈谈tempdb对sql server性能优化有何影响
  • c++基础语法:虚继承
  • mssql和sqlserver是什么关系?
  • mssql,mysql,sqlserver三者有何不同
  • sqlserver 复杂子查询
  • sqlserver子查询怎么统计总计
  • sqlserver 子查询返回的值不止一个.当子查询跟随在...
  • SQLServer 子查询怎么老报错
  • sqlserver里报子查询返回的值不止一个。当子查询跟...
  • sqlserver子查询可以替代表连接?
  • SQLserver 怎么把查出的字符串结果作为子查询条件
  • SQLServer 在子查询中查出多列相加的值
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页使用sql server数据库嵌套子查询的方法sql server高级内容之子查询和表链接概述及使用sql not in 与not exists使用中的细微差别通过备份记录获取数据库的增长情况浅述sql server的语句类别 数据库范式 系统数据库组成c#连接excel2003和excel2007以上版本做数据库的连接字符串sql对数据进行按月统计或对数据进行按星期统计的实例代码sql server中select和set赋值相同点与不同点(推荐)sql如何实现mysql的递归查询谈谈tempdb对sql server性能优化有何影响c++基础语法:虚继承sql server 2012 安装图解教程(附sql server数据库入门学习总结microsoft sql server 2012 数据win7系统安装sqlserver2000的详细sql重复记录查询的几种方法sqlserver中distinct的用法(不重sql server错误代码大全及解释(sql-order by 多字段排序(升序、sql将一个表中的数据插入到另一个用sql语句添加删除修改字段、一些sql批量插入数据几种方案的性能详细对比配置 sql server 2005 以允许远程连接的方sql2000各个版本区别总结sql server 2012 filetable 新特性详解sql server sql高级查询语句小结sql server 表数据改变触发发送邮件的方法sql server使用merge语句当源表数据集为空自动定时备份sqlserver数据库的方法sql 触发器使用例子浅谈sql server交叉联接 内部联接
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved