SQL查询:[6]子查询

在SELECT查询时,在WHERE查询条件中的限制条件不是一个确定的值,而是来自另一个查询的结果,这种为主查询提供数据而首先执行的查询语句叫做子查询。根据返回结果的不同,子查询可分为单行子查询、多行子查询和多列子查询。

单行子查询

  • 01

    单行子查询指在子查询中只返回单行值,这种子查询需要使用单行比较运算符,包括=、>、>=、<、<=、<>.

  • 02

    单行子查询出现在WHERE子句中,如下所示:

  • 03

    单行子查询中有分组函数,要求分组函数返回的是单行数据。如下图为查询出薪水比本部门平均薪水高的员工信息:

  • 04

    单行子查询出现在HAVING子句中,如下图为查询出平均薪水高于部门30最高薪水的部门信息。

多行子查询

  • 01

    如果子查询返回了多行,则主查询中的比较操作符应该使用多行比较操作符。Oracle数据库中的多行比较操作符包括IN、ALL、ANY,其中ALL和ANY不能单独使用,需要配合单行比较操作符>、>=、<、<=一起使用。

  • 02

    多行子查询中使用IN: IN后面是值的列表,只不过这里的值是子查询查出来的多个数据。如下图:

  • 03

    多行子查询中使用ANY操作符: ANY操作符不能单独使用,必须和>、<等比较操作符一起使用。>ANY表示大于列表中任何一个数据即为TRUE;<ANY表示小于列表中的任何数据即为TRUE。具体实现如下图:

  • 04

    多行子查询中使用ALL操作符: ANY操作符也不能单独使用,必须和>、<等比较操作符一起使用。>ANY表示大于列表中所以数据即为TRUE;<ANY表示小于列表中的所以数据即为TRUE。具体实现如下图:

多列子查询

  • 01

    多列子查询是指在查询中返回多列数据,如果多列子查询返回的是一行,则使用单行比较操作符=、>、>=、<、<=、<>;如果是多行,则使用多行比较操作符IN、ALL、ANY。

  • 02

    多列子查询返回一行数据:

  • 03

    多列子查询返回多行数据:

其他子查询

  • 01

    行内视图: 行内视图也称作内嵌视图或匿名视图,简单地说就是出现在FROM短语中的子查询,这中语句把子查询当作视图对待,但这个视图没有名字,只在当前的SQL语句中有效。如下图:

  • 02

    EXIST条件: 使用EXIST条件的查询也称为相关子查询,就是在子查询中需要引用到主查询的字段数据。如果EXIST后面的子查询至少返回一行数据,则整个条件返回TRUE.如下图查询那些有员工的部门信息:

(0)

相关推荐

  • Mysql常见子查询语句

    常见子查询语句 形式: where  字段  比较运算符  (标量子查询): 因为其相当于: where  字段  比较运算符  一个具体值:  //比如:where  age > 18 使用i ...

  • 如何在MySQL数据库进行子查询

    子查询是将一个查询语句嵌套在另一个查询语句中,内层查询语句的查询结果,可以作为外层查询语句提供查询条件.子查询中可能包括IN.NOT IN.ANY.ALL.EXISTS和NOT EXISTS等关键字, ...

  • sql serve 跨服务器查询数据方法

    今天在做sql server 的数据查询时,需要用到跨服务器连接,如何在sql server 中,使用跨服务器查询的方法,有以下步骤. 操作方法 01 /*创建中间数据库链接exec sp_addli ...

  • 股票佣金怎么查询,在哪查询自己购买股票的佣金

    怎么查看自己购买股票的佣金是多少?很多朋友只知道买股票需要佣金,但是不知道购买的股票花费了多少佣金?下面就来说下股票佣金怎么查询,在哪查询自己购买股票的佣金. 股票佣金怎么查询,在哪查询自己购买股票的 ...

  • 银行联行号是什么?银行联行号怎么查询?(附查询工具)

    什么是银行联行号? 怎么查找企业开户行的12位联行号?银行联行号就是一个地区银行的唯一识别标志,那么怎么查询联行号呢?最直接的当然是联系开户行直接询问,不过,今天小编就给大家带来一款帮助用户查询银行联 ...

  • 淘宝小号信誉查询示意图和查询内容的解析

    淘宝小号信誉查询示意图和查询内容的解析,查询淘宝小号的网站一般都2个,1314卖家工具箱和淘大客,我现在向大家介绍一下卖家工具箱的使用方法和查询出来的内容的解析 操作方法 01 如图输入进入 02 进 ...

  • ACCESS如何使用查询向导创建查询

    ACCESS如何使用查询向导创建查询呢?下面我来做一个简单的分享,希望你能够学会. 操作方法 01 打开数据库文件 02 选择 创建-查询向导 03 初学建议先使用简单的查询向导.点击确定. 04 把 ...

  • 怎么进入百度指数查询 百度指数查询工具怎么找

    一.通过百度首页进入百度指数查询工具 01 开机,在浏览器中打开百度首页. 02 在百度首页里面,找到百度搜索框的右上角,找到更多,点击更多. 03 点击更多后,就会进入百度产品中心,产品大全. 04 ...

  • vip域名批量查询如何批量查询

    .vip域名已经在2015年5月18号可以注册了,相信广大域名投资者已经开始注册自己中意的域名了,可能土豪们会批量注册,注册之前可能需要先提前批量查询一下,那么如何批量查询.vip域名呢?现在像盼米网 ...