子查询

作者: 糖砂西红柿 | 来源:发表于2018-06-21 00:08 被阅读14次

定义:在一个完整的查询语句里面,嵌入N个内部查询得来的结果,子查询本身没有什么么完整语法。导出可以嵌套子查询。
如何区分那个地方需要用到子查询呢?
在哪个子句中出现,并没有什么明确的结论。只是在一个整体中嵌入若干个部分。
简单出现位置参考:
1.WHERE子句中:当子查询返回单行单列、或者多行单列,单行单列的情况下,这种子查询都往往出现在WHERE子句中。
2.FROM子句,子查询返回多行多列数据,可以按照表处理。
3.在SELECT中:子查询返回单行单列。(不建议)
之所以要提出子查询概念,主要是为了解决查询的性能问题。通过子查询可以编写性能更好的查询语句。

WHERE中使用子查询

WHERE子句的主要作用:限制数据表中数据行的显示,一般都是做数据的筛选使用的。

范例: 图片.png
  • 查询的关键是
    1.第一步:一定要找到公司最低的工资,这个最低工资一定是统计的结果。(统计查询语句MIN())SELECT MIN(sal) FROM emp;
    2.第二步: 图片.png
    图片.png
    图片.png (AVG)
    图片.png
    图片.png

子查询返回单行多列

单行多列指的是要求同时满足两个列的判断。例如: 图片.png
图片.png
图片.png
图片.png
图片.png
图片.png

子查询返回多行多列
一旦子查询返回单行多列的数据,实际上子查询所返回的内容就属于一个数据的范围了。

  • IN 操作, 图片.png
    图片.png
图片.png

***千万要记住,如果使用了NOTIN,并且子查询的结果包含NULL则不会有任何查询。


图片.png

由于mgr有的结果为空,所以NOT IN 不会进行查询呢。
ANY操作:


图片.png
①=ANY()的情况
图片.png
图片.png

②>ANY()的情况
比最小的值要大
③<ANY()
比最大的值要小


ALL:所有内容

ALL:比集合中最大的还要大
<ALL:比集合中最小的还要小

这几种符号的选择,还是看我们的查询要求,如比每个人都要大等。
以上就是用WHERE子查询的情况包括:
1.单行单列
2.单行多列
3.多行单列
这三种情况会用WHERE进行子查询处理。

相关文章

  • Oracel_子查询

    SQL子查询 子查询语法 子查询 (内查询) 在主查询之前一次执行完成。 子查询的结果被主查询(外查询)使用 。 ...

  • Oracle | 子查询和伪列

    1. 子查询 (1)单行子查询 (2)多行子查询 1)ANY子查询 2)ALL 子查询 2. 伪列...

  • 《SQL必知必会》第 11 课 使用子查询

    目标: 11.1 子查询 11.2 利用子查询进行过滤 11.3 作为计算字段使用子查询 11.1 子查询 查询(...

  • MySQL 子查询

    什么是子查询 为什么要使用子查询 子查询的分类 怎样使用子查询 关联子查询 要使用的数据表 1. 什么是子查询? ...

  • 数据库第七天

    子查询 查询里面还有查询注意: 子查询优先于主查询执行 最好子查询用括号 查询比ALLEN工资高的员工信息 单行子...

  • SQL查询_高级查询

    SQL查询_高级查询 一、子查询 子查询出现的位置一般为条件语句,oracle会先执行子查询,再执行父查询,子查询...

  • 17/12/6 子查询

    17/12/6 子查询 单行子查询 括号内的查询叫做子查询,也叫内部查询,先于主查询的执行。 子查询可以嵌入1.w...

  • MySql(七)子查询与虚表

    一、子查询 子查询在主查询前执行一次 主查询使用子查询的结果 子查询要用括号括起来 将子查询放在比较运算符的右边 ...

  • 数据分析之SQL子查询

    文章阅读路线: SQL子查询概念 独立子查询实例 相关子查询实例 SQL子查询常见玩伴 1.SQL子查询概念 子查...

  • MySql基础-子查询

    一、子查询定义 定义: 子查询允许把一个查询嵌套在另一个查询当中。 子查询用()括起来 子查询,又叫内部查询,相对...

网友评论

      本文标题:子查询

      本文链接:https://www.haomeiwen.com/subject/izjfyftx.html