嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中,称为嵌套查询。其中外层查询也称为父查询,主查询。内层查询也称子查询,从查询。

嵌套查询的工作方式是:先处理内查询,由内向外处理,外层查询利用内层查询的结果嵌套查询不仅仅可以用于父查询select语句使用。还可以用于insert、update、delete语句或其他子查询中。

一、子查询的组成

1、包含标准选择列表组件的标准select查询。

2、包含一个或多个表或者视图名称的标准from子句。

3、可选的where子句。

4、可选的group by子句。

5、可选的having子句。

二、子查询的语法规则

1、子查询的select查询总是使用圆括号括起来。

2、不能包括compute或for.browse子句。

3、如果同时指定top子句,则可能只包括order by子句。

4、子查询最多可以嵌套到32层。个别查询可能会不支持32层嵌套。

5、任何可以使用表达式的地方都可以使用子查询,只要它返回的是单个值。

6、如果某个表只出现在子查询中二不出现在外部查询中,那么该表的列就无法包含在输出中。

三、简单子查询

示例:

select name,age frompersonwhere age >(select age frompersonwhere name = '孙权')

输出结果为:

四、in嵌套查询

in关键字用于where子句中用来判断查询的表达式是否在多个值的列表中。返回满足in列表中的满足条件的记录。

示例:

select name frompersonwhere countryid in(select countryid fromcountrywhere countryname = '魏国')

输出结果为:

五、some嵌套查询

1、语法

some在sql中的逻辑运算符号,如果在一系列比较中,有些值为True,那么结果就为True。some的语法是:

{ =|<>|!=|>|>=|!>|

示例:

select name frompersonwhere countryid = some       --用等号和以下查询到的值比较,如果与其中一个相等,就返回

(select countryid fromcountrywhere countryname = '魏国')

输出结果为:

六、all嵌套查询

all是sql中的逻辑运算符好,如果一系列的比较都为true,那么结果才能为true。

1、语法

{ =|<>|!=|>|>=|!>|

示例:

select name frompersonwhere countryid > all   --当countryid大于以下返回的所有id,此结果才为True,此结果才返回

(select countryid fromcountrywhere countryname = '魏国')

输出结果为:

七、exists嵌套查询

1、语法

exists是sql中的逻辑运算符号。如果子查询有结果集返回,那么就为True。exists代表“存在”的意义,它只查找满足条件的那些记录。一旦找到第一个匹配的记录后,就马上停止查找。

exists 子查询

其中子查询是一个首先的select语句,不允许有compute子句和into关键字。

exists 的意思是,子查询是否有结果集返回。

例如:

SELECT * FROMPersonWHERE exists(SELECT 1 --SELECT 0 SELECT NULL 返回结果都一样,因为这三个子查询都有结果集返回,因此总是True SELECT * FROM Person照常执行

)

但是如果子查询中因为加了条件而没有结果集返回,则主语句就不执行了:

SELECT * FROMPersonWHERE exists(SELECT * FROMPersonWHERE Person_Id = 100 --如果不存在Person_Id的记录,则子查询没有结果集返回,主语句不执行

)

sql镶嵌查询_SQL语句 - 嵌套查询相关推荐

  1. mysql根据字段长度查询_SQL语句如何查询某一字符串字段长度等于某个值的所有记录...

    展开全部 可以32313133353236313431303231363533e59b9ee7ad9431333366303066使用length()函数.比如:select * from test  ...

  2. SQL语句 - 嵌套查询

    嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中,称为嵌套查询.其中外层查询也称为父查询,主查询.内层查询也称子查询,从查询. ...

  3. SQL语句 - 嵌套查询(SQLServer)

    嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中,称为嵌套查询.其中外层查询也称为父查询,主查询.内层查询也称子查询,从查询. ...

  4. 二见钟情之SQL语句嵌套查询

    这次机房收费系统折腾了七八次,刚开始的时候是因为不会,现在再改是因为自己不够满意,总觉得还能做得更好一点,所以就推倒重来:然后又推倒,又重来,貌似有瘾一样,不过确实该快点了,不然等自己满意了就该过年了 ...

  5. 【数据库和SQL学习笔记】6.SELECT查询4:嵌套查询、对查询结果进行操作

    数据库系统软件:SQL Server 2019 Express 操作系统:Windows 10 文章目录 嵌套查询 IN 与 NOT IN EXISTS 与 NOT EXISTS 比较运算符 SOME ...

  6. mysql查询所有课程的分数_Sql语句之查询所有学生所有科目分数及总分

    昨天练Sql语句,数据库建了四个表分别是,学生表,课程表,成绩表以及教师表(教师表不在讨论范围),突然想到以前高中时代老师手上的那张成绩表,然后我就寻思着能不能用Sql语句把表打印出来,以下是我的思考 ...

  7. java多条件sql查询_SQL 多条件查询

    网上有不少人提出过类似的问题:"看到有人写了WHERE 1=1这样的SQL,到底是什么意思?".其实使用这种用法的开发人员一般都是在使用动态组装的SQL.让我们想像如下的场景:用户 ...

  8. mysql学习day05—子查询 / CASH语句 / 连接查询

    子查询 单行子查询:返回单行单列 多列子查询:返回单行多列(使用成对比较) 多行子查询:返回多行单列 相关子查询:子查询使用了外部SQL的某些表或列(但是外部SQL不可使用子查询中的表和列) 嵌套子查 ...

  9. db2嵌套查询效率_嵌套查询与连接查询的性能

    嵌套查询与连接查询的性能:连接查询一般较快:子查询很难被优化.(当然和DB优化有关,也可能子查询比连接查询快)其实不能一概而论的~~ 不过,问了下DBA同学,他建议是能用join的,尽量不要用嵌套查询 ...

最新文章

  1. 移动端HTML5video视频播放优化实践
  2. 成功解决importError cannot import idnadata
  3. 爬虫笔记:Python Selenium详解
  4. Redis性能指标监控
  5. 网络聊天室的技术与发展
  6. jQuery中的html,val,text区别
  7. 使用 FUSE 开发自己的文件系统
  8. 60多年来计算机是根据什么的发展,计算机复习题98197.doc
  9. cpu_time()函数
  10. AD14如何设置指定线路与敷铜之间的安全距离
  11. 推荐:dhtmlx系列js工具包
  12. Ubuntu 16.04 状态栏实时显示网速、CPU、内存等
  13. 留学生Essay写作没思路的解决方案
  14. SpringBoot项目,从创建到简单实战
  15. VB写的软件加壳都没用,超强反调试反破解分析,检测OD调试器
  16. 软考-高项计算1--投资回收周期计算(涉及概念:投资回收期 折现因子 净现值 累计净现值 现金流 累计净现金流)
  17. MathType 6.9嵌入到Office(word)2016中
  18. Vue中为对象添加字段
  19. CCF201803-4-棋局评估
  20. Linux下Oracle19c离线rpm安装

热门文章

  1. solr 从数据库导入数据,全量索引和增量索引
  2. java宠物狗商店交流网站ssm框架
  3. 无法获取'https://jcenter.bintray.com/com/网站的资源
  4. allow control allow origin_热分析/红外光谱联用的数据分析方法 第7部分 在Origin软件中三维红外光谱图的作图方法...
  5. 学校计算机功能室布置,新乡学校计算机功能室建设,景观雕塑设计
  6. Python学习 Day31 JS类数组对象
  7. [TED]丹·吉尔伯特:我们为什么快乐?
  8. 腾讯wifi管家竟然盗取我家wifi密码 惊讶!震惊!失望!
  9. java改变图片颜色_使用java代码实现证件照换背景色
  10. 1. 【Part3】 Contour Detection and Hierarchical Image Segmentation【轮廓检测图像分割】