MySQL EXISTS 和 NOT EXISTS 子查询语法如下:

1

SELECT ... FROM table WHERE EXISTS (subquery)

该语法可以理解为:将主查询的数据,放到子查询中做条件验证,根据验证结果(TRUE 或 FALSE)来决定主查询的数据结果是否得以保留。

MySQL EXISTS 子查询实例

下面以实际的例子来理解 EXISTS 子查询。下面是原始的数据表:

article 文章表:

aid title content uid

1 文章1 文章1正文内容... 1

2 文章2 文章2正文内容... 1

3 文章3 文章3正文内容... 2

4 文章4 文章4正文内容... 4

user 用户表:

uid username email

1 admin admin@5idev.com

2 小明 xiao@163.com

3 Jack jack@gmail.com

我们要查出 article 表中的数据,但要求 uid 必须在 user 表中存在。SQL 语句如下:

1

SELECT * FROM article WHERE EXISTS (SELECT * FROM user WHERE article.uid = user.uid)

返回查询结果如下:

aid title content uid

1 文章1 文章1正文内容... 1

2 文章2 文章2正文内容... 1

3 文章3 文章3正文内容... 2

mysql exists依赖查询_MySQL EXISTS 和 NOT EXISTS 子查询相关推荐

  1. mysql视图子查询_mysql创建视图不能包涵子查询的解决办法。View's SELECT contains a subquery in the FROM clause...

    如下查询是没问题,但要创建成视图就报View's SELECT contains a subquery in the FROM clause错误. CREATE or REPLACE VIEW `v_ ...

  2. MySQL 表的增删改查(进阶篇②)· 联合查询 内连接 外连接 · 自连接 · 子查询 exists · 合并查询 union

    接进阶篇①,我们继续学习. 一.联合查询 1.1 内连接 1.2 外连接 1.3 内连接和左右外连接的区别 二.自连接 三.子查询 3.1 单行子查询 3.2 多行子查询 使用 in 范围匹配多行 另 ...

  3. mysql子查询查询子字段_MySQL知识整理7.4—子查询

    数据科学探路者:MySQL知识整理7.3-连接查询​zhuanlan.zhihu.com 四.子查询 什么是子查询? 当一个查询是另一个查询的条件时,称之为子查询.子查询可以使用几个简单命令构造功能强 ...

  4. 嵌套套娃,MySQL子查询,单行与多行子查询,相关和不相关(关联)子查询,完整详细可收藏

    文章目录 1.需求分析与问题解决 2.单行子查询 3.多行子查询 4.相关子查询 5.抛一个思考题 子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入.SQL 中 ...

  5. mysql子查询一般分为几种_子查询一般分为几种

    一.mysql子查询基本知识 子查询就是在原有的查询语句中,嵌入新的查询,来得到我们想要的结果集. 子查询一般分为:where型子查询.from型子查询和exists型子查询. 1.where型子查询 ...

  6. mysql group by 无效_Mysql5.7版本group by 子查询中order by 无效的问题解决办法

    我们都知道group by 会选择保留第一条数据,默认是按照id排序的,如果我们想通过别的字段排序,比如最后创建的那条记录,可以先按照创建时间降序,再group by即可得到每个分组的最新创建的数据. ...

  7. MySQL第九章索引_MySQL高级(索引优化+慢查询定位)

    一.先谈谈事务 1. ACID特性 1.1 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用: 1.2 一致性: 执行事务前后,数据库从一个一致性状态转换 ...

  8. mysql 记录更新 内部_MySQL 入门(1):查询和更新的内部实现

    摘要 在MySQL中,简单的CURD是很容易上手的. 但是,理解CURD的背后发生了什么,却是一件特别困难的事情. 在这一篇的内容中,我将简单介绍一下MySQL的架构是什么样的,分别有什么样的功能.然 ...

  9. mysql无关子查询_mysql中相关,无关子查询,表与表之间的关系以及编码和乱码的解决...

    ※MySQL中的字符编码(注意,utf8中没有'-',跟Java中不一样) SHOW VARIABLES; //查看系统变量 //查询字符编码相关的系统变量 SHOW VARIABLES WHERE ...

  10. mysql 去重后拼接_mysql学习笔记(三)—— 查询select

    本节主要介绍查询语句(select),包括基础查询.条件查询.模糊查询,以及一些常用函数包括:去重函数distinct.字符拼接函数concat.null判断函数ifnull. 内容都是自己学习后从S ...

最新文章

  1. 树型控件TreeView的几种用法
  2. linux中sqlite3编译时出错,Sqlite3 交叉编译 undefined reference to `fdatasync' 错误解决
  3. 带你了解『百度智能云发布云智一体的AI开发全栈模式』
  4. NSUserDefaults数据保存使用
  5. leetcode 491. Increasing Subsequences | 491. 递增子序列(Java)
  6. [android] AndroidManifest.xml【 manifest - permission-tree 和 manifest - permission-group】
  7. java map是有序的吗_Java:如何初始化和填充最终的静态有序Map?
  8. iOS网络加载图片缓存策略之ASIDownloadCache缓存优化
  9. Java并发编程笔记—基础知识—实用案例
  10. java httpclient 返回xml_通过httpClient通过post向接口发送xml数据,并处理返回的xml报文...
  11. 用 AI 培养孩子学习兴趣,讯飞新一代智能学习机正式发布!
  12. SQL Server2008官方下载地址
  13. android基础复习笔记——3.登录授权、TCP/IP、HTTPS原理
  14. 【OpenGrok代码搜索引擎】二、Windows10下基于Linux子系统搭建Opengrok代码搜索引擎
  15. 尊重孩子 梅兰芳“宠溺有道”
  16. VMware解决:未能将管道连接到虚拟机: 所有的管道范例都在使用中。
  17. python毕业设计课题-毕业设计:爬虫及数据分析
  18. 《程序员的自我修养》笔记
  19. Ubuntu 20.04 Desktop 设置桌面图标大小、间距
  20. 蓝牙协议栈消息的关联

热门文章

  1. python字典(dict)合并的操作
  2. Java 监测某个方法的执行时间
  3. 【2019.08.21】2019杭电多校第十场
  4. 幻想乡三连A:五颜六色的幻想乡
  5. 使用pdf.js在移动端预览pdf文档
  6. 汇编语言DOSBox软件使用方法
  7. 【Linux命令】nm 查看动态库和静态库中的符号
  8. 详解摄像头各个引脚的作用关系
  9. 我眼中BA(业务需求分析师)的技能广度和深度
  10. 10月26日练习注册用例的编写与ibatis培训