mysql中子查询注意事项_MySQL子查询知识点详解

MySQL 子句查询也叫 inner query,同时包含子句查询的语句叫outer query

语法结构如下:

23ccf7d05e1fd5b03491a536963ecefd.png

注解:该语句执行时先运算括号里的子句,然后再运算括号外的主句,最后返回查询结果【查询在美国办事处工作的雇员】

9b2229d42ec63c610ff2ea00a109ece3.png

1.MYSQL子句查询与select的使用:用做标量或者字段使用

案例一(单表子查询):

402ed2a025de09cfe072bfbd1008be40.png

案例二(单表子查询):

fdbf6d6736db25dcc934fe55564a5876.png

2.MYSQL子句查询与from的使用:用做衍生表或者临时表

语法规则如下:

921d3f87561fc544b98f8b12f7f447f7.png

注意事项:使用子查询与from子句连用时,每一张表的from子句子查询都必须使用别名[AS]name

270c698193c42f78b3fcce43d8c4ff89.png

b76f8be0ed72df15181fe0ee0961371c.png

3.MYSQL子句查询与WHERE 的使用 (与where子句连用是可以使用逻辑运算符(、<>、=)

案例一(单表子查询):

目标:找到消费者的最大支付订单额度,并且与逻辑运算符连用

1fe7b8bd754fb0b2b7b95fc3a3e21ff4.png

9bf24a13b71baf44823b0e3eb43a75e5.png

案例二(多表关联):与关键词in/not in 连用;关联字段customerNumber

目标:哪个消费者没有下任何的订单

7bff4c2f57a67a8279af513d88c3ae35.png

8370511a765aaaadc9cc36ee05bbb1d8.png

子查询关键字的使用并且与逻辑运算符连用:

cd96a4b85397af7857fb539752b1ba7b.png

4.in与any(some)的使用意思是等价的

语法格式为:

30b88fc0ac7f598ce7e0279c94db0356.png

Any与Some使用时没有区别:any/some:满足其中一个条件查询即可返回值

b1b4c6613596998c441a8a8bb7dfcff5.png

5.All与Not in的意思是一样的:all:满足所有条件查询

0ac64a39a9e46abf62f9a1b816dbb000.png

6.EXISTS or NOT EXISTS的使用

5b5d23c2a0dcf04f67c31c3aed1b445c.png

Exist使用时:系统对子查询进行运算以判断它是否返回行,exist如果至少返回一行,则返回true,外部主语将进行查询;如果子查询没有返回行,那么exist返回结果是false,主句将不进行查询

Not exist使用方法相同:子查询没有返回任何一行,那么not exist返回结果是true,此时主句将进行查询

END.

本文整理自爱数据学院中的问答

更多精彩问答,进入下方社区网站查看

http://www.lovedata.cn/invitation

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值