前言
在日常开发中,用mysql进行查询的时候,有一个比较少见的关键词exists,我们今天来学习了解一下这个
exists这个sql关键词的用法,这样在工作中遇到一些特定的业务场景就可以有更加多样化的解决方案

语法解释
语法

SELECT * FROM A WHERE EXISTS (SELECT * FROM B where B.id=10 and A.id=B.id);

语法讲解(运行)

首先执行外部语句SELECT * FROM A 的查询,将查询的结果带入子查询中进行遍历判断是否在最终结果中显示

如外部查询到10条数据,(A的id顺序为1-10),进行遍历首先将A.id为1的数据进行带入子查询中进行判断,显然子查询中无法查询到此条数据,此时子查询对第一条数据返回false,那么最终结果就不会显示此条数据,依次到9都是同样的结果,直到A.id等于10的时候,如果B的数据中有id=10的数据此时返回true,那么最终将会把这条数据显示出来。

示例

(1) SELECT * FROM A WHERE EXISTS (SELECT 1);

括号中的子查询永远返回true,此次查询相当于SELECT * FROM A
(2) SELECT * FROM A WHERE EXISTS (SELECT * from B where B.id= null);

括号中的子查询查询不到数据永远返回false,此次查询无结果显示
总结
子查询会对外查询的每一条数据进行判断是否显示,如果子查询查询到数据则对应数据显示,否则不显示。

个人理解如果有不对的地方请进行提出留言

mysql中exists的用法简答的更多相关文章

  1. Mysql中EXISTS关键字用法、总结

    在做教务系统的时候,一个学生(alumni_info)有多个教育经历(alumni_education),使用的数据库是mysql,之前使用左链接查询的,发现数据量才只有几万条时,查询就很慢了,早上想 ...

  2. MySQL 中 EXISTS 的用法

    在MySQL中 EXISTS 和 IN 的用法有什么关系和区别呢? 假定数据库中有两个表 分别为 表 a 和表 b create table a ( a_id int, a_name varchar( ...

  3. 关于MySQL 中 EXISTS 的用法

    在MySQL中 EXISTS 和 IN 的用法有什么关系和区别呢? 假定数据库中有两个表 分别为 表 a 和表 b create table a ( a_id int, a_name varchar( ...

  4. mysql中exists的用法介绍

    SELECT c.CustomerId, CompanyName   2 FROM Customers c   3 WHERE EXISTS(   4     SELECT OrderID FROM  ...

  5. MySQL中EXISTS的用法

    比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID ...

  6. 【转】MySQL中EXISTS的用法

    原文链接:https://www.cnblogs.com/qlqwjy/p/8598091.html 比如在Northwind数据库中有一个查询为 SELECT c.CustomerId,Compan ...

  7. mysql中event的用法详解

    一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存 ...

  8. mysql中explain的用法

    mysql中explain的用法 最近在做性能测试中经常遇到一些数据库的问题,通常使用慢查询日志可以找到执行效果比较差的sql,但是仅仅找到这些sql是不行的,我们需要协助开发人员分析问题所在,这就经 ...

  9. mysql中limit的用法实例解析

    mysql中limit的用法解析. 在mysql中,select * from table limit m,n.其中m是指记录开始的index,从0开始,n是指从第m条开始,取n条. 例如: mysq ...

  10. Mysql中limit的用法详解

    Mysql中limit的用法详解 在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,为我们提供了limit这样一个功能. SELECT * FROM table LIMIT [offset ...

随机推荐

  1. SSM框架 拦截器 出现“发现了以元素 'mvc:exclude-mapping' 开头的无效内容。应以 '{"http://www.springframework.org/schema/mvc":mapping}' 之一开头”错误

    导致错误位置与代码: spring-mvc.xml文件中的拦截器配置代码,代码如下: <mvc:interceptors> <mvc:interceptor> <mvc: ...

  2. mysql5.7主从多线程同步

    数据库复制的主要性能问题就是数据延时 为了优化复制性能,Mysql 5.6 引入了 "多线程复制" 这个新功能 但 5.6 中的每个线程只能处理一个数据库,所以如果只有一个数据库, ...

  3. spider_requests库简单ip代理

    """使用requests 设置ip代理"""import requestsdef func(): url = 'http://ip.273 ...

  4. [2013年NOIP提高组] 积木大赛

    春春幼儿园举办了一年一度的"积木大赛".今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi. 在搭建开始之前,没有任何积木 ...

  5. 摘抄笔记 centos内核优化

  6. IDEA-mybatis逆向工程使用

    首先我们需要安装mybatis逆向工程插件mybatis Generator: 然后在pom.xml文件中添加逆向工程插件: <!--mybatis逆向工程插件--> <plugin ...

  7. spring-boot-starter-webflux 与spring-cloud-starter-openfeign冲突

    Thu Oct 22 17:16:01 CST 2020 [3be84a1c-14] There was an unexpected error (type=Internal Server Error ...

  8. centos7(虚拟机)下安装nginx

    centos7(虚拟机)下安装nginx 安装前准备 gcc yum install gcc-c++ pcre yum install -y pcre pcre-devel zlib yum inst ...

  9. Falsk 大文件上传/下载(send_from_directory)

    下载接口: 服务端flask下载接口 @app.route("/api/download/", methods=["POST"]) def download() ...

  10. MTS和MTO的差别

    一.概念篇 MTS(Make-to-Stock): 按库存生产 可以独立创建计划.生产订单,可以如非限制使用的库存,并且发货等不受限制. 生产的成品或者半成品在系统中建有BOM,开工单生产后记入库存, ...