7-15ALL、 ANY、SOME子查询

ALL:所有

ANY:部分

SOME:与ANY相同,使用ANY的地方都可以用SOME替换。

>ALL:父查询中列的值必须大于子查询返回的值列表的每一个值。

>ANY:父查询中的返回值必须大于子查询中的一个值。

=ANY:与IN等效:父查询中列的值必须在子查询中返回值列表存在。

<>ANY与NOT IN的区别:
<>ANY:父查询结果中的列的值与子查询返回值列表只要有一个,不相同就返回。

NOT IN:父查询的结果中的列的值必须不能在子查询值的列表中。

>ALL:

首先先查询两张表:

SELECT *FROM  table1
SELECT *FROM  table2

  

这是两个表中的数据。

SELECT *FROM table2  n>ALL(SELECT  n  FROM table1)

  

最后结果为4,因为只有4比子查询面的值都大。

>ANY:

SELECT *FROM table2  n>ANY(SELECT  n  FROM table1)

  

最后结果为3,4,这个指的是父查询中的哪些值比子查询中的值大。

也可以用:

SELECT *FROM table2  n>SOME(SELECT  n  FROM table1)
SELECT *FROM table2  n IN(SELECT  n  FROM table1)
SELECT *FROM table2  n=ANY(SELECT  n  FROM table1)

结果都一样。

<>ANY与IN:

SELECT *FROM table2  n<>ANY(SELECT  n  FROM table1)
SELECT *FROM table2  n   IN(SELECT  n  FROM table1)

  

子查询:

任何使用表达式的地方都可以用子查询。

嵌套在SELECT 语句中的子查询:

语法:

SELECT (子查询)FROM 表名。

嵌套在FROM语句中的子查询:
SELECT ...FROM(子查询)AS表的别名。

转载于:https://www.cnblogs.com/gcmwalker/p/6083432.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值