MySQL子查询知识点详解

挖数网精选
挖数网精选
挖数网精选
344
文章
0
评论
2020-09-2313:09:00 评论 25 765字
摘要

今天与大家分享一些数据分析中必会的MySQL子查询分享。

MySQL 子句查询也叫 inner query,同时包含子句查询的语句叫outer query语法结构如下:

MySQL子查询知识点详解

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

MySQL子查询知识点详解

1.MYSQL子句查询与select的使用:用做标量或者字段使用案例一(单表子查询):

MySQL子查询知识点详解

案例二(单表子查询):

MySQL子查询知识点详解

2.MYSQL子句查询与from的使用:用做衍生表或者临时表语法规则如下:

MySQL子查询知识点详解

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

MySQL子查询知识点详解

MySQL子查询知识点详解

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

案例一(单表子查询):

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

MySQL子查询知识点详解

MySQL子查询知识点详解

案例二(多表关联):与关键词in/not in 连用;关联字段customerNumber目标:哪个消费者没有下任何的订单

MySQL子查询知识点详解

MySQL子查询知识点详解

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

MySQL子查询知识点详解

4.in与any(some)的使用意思是等价的语法格式为:

MySQL子查询知识点详解

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

MySQL子查询知识点详解

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

MySQL子查询知识点详解

6.EXISTS or NOT EXISTS的使用

MySQL子查询知识点详解
  • Exist使用时:系统对子查询进行运算以判断它是否返回行,exist如果至少返回一行,则返回true,外部主语将进行查询;如果子查询没有返回行,那么exist返回结果是false,主句将不进行查询
  • Not exist使用方法相同:子查询没有返回任何一行,那么not exist返回结果是true,此时主句将进行查询

END.

本文整理自爱数据学院<互动社区>中的问答

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

http://www.lovedata.cn/invitation

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: