Mysql子查询关键字的使用方式(exists)

吾爱主题 阅读:140 2024-04-02 18:54:51 评论:0
目录
  • 1. all
    • 1.1 格式
    • 1.2 特点 
    • 1.3 操作
  • 2. any(some)
    • 1.1 格式
    • 1.2 特点
    • 1.3 操作
  • 3. in
    • 1.1 格式
    • 1.2 特点
    • 1.3 操作
  • 4. exist
    • 1.1 格式
    • 1.2 特点
    • 1.3 操作
    • 1.4 解释

 

1. all

 

 

 

 

1.1 格式

 

1.2 特点 

all:与子查询返回的所有值比较为true则返回true

all可以与=,>=,>,<,<=,<>结合使用,分别表示等于,大于等于,大于,小于,小于等于,不等于其中的所有数据

大于all表示指定列中的值必须要大于子查询集中的每一个值,即必须要大于子查询集的最大值;如果是小于即小于子查询中的最小值。

 

 

 

 

1.3 操作

 

2. any(some)

1.1 格式

 

 

 

1.2 特点

  • any:与子查询返回的所有值比较为true则返回true
  • any可以与=,>=,>,<,<=,<>结合使用,分别表示等于,大于等于,大于,小于,小于等于,不等于其中的任何一个数据
  • 大于any表示指定列中的值必须要大于子查询集中的任何一个值,即必须要大于子查询集的最小值;其他同理
  • some可以理解为any的别名

1.3 操作

 

3. in

1.1 格式

1.2 特点

  • in用于判断某个记录的值,是否在指定的集合中
  • 在in关键字前边加上not可以将条件反过来

1.3 操作

 

4. exist

1.1 格式

1.2 特点

  • 该子查询如果“有数据结果”(至少返回一行数据),则该EXISTS()结果为:true,外层查询执行
  • 该子查询如果“没有数据结果”(没有任何数据返回),则该EXISTS()结果为:false,外层查询不执行
  • EXISTS后面的子查询不返回任何实际数据,只返回真或假,当返回真时where条件成立
  • 注意:EXISTS关键字,比IN关键字的运算效率高,因此,在实际开发中,特别是大数据量时,推荐使用EXISTS关键字

1.3 操作

 

1.4 解释

外层查询进行查询时,外层查询会一行一行执行,第一行执行时,判断子查询是否为true,为true则此行数据被查出,接着第二行查询。。。以此往复。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文地址:https://blog.csdn.net/weixin_39724194/article/details/123372728

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容