一文搞懂SQL EXISTS运算符的语法和用法
Admin 2021-04-10 群英技术资讯 1857 次浏览
SQL 中运算符有很多,与IN、ANY、ALL等运算符不同,EXISTS运算符是单目运算法,可以用来判断查询字句是否有记录。这篇文章就主要介绍EXISTS 运算符的使用,感兴趣的朋友继续往下看吧。
EXISTS 运算符
EXISTS 运算符用于判断查询子句是否有记录,如果有一条或多条记录存在返回 True,否则返回 False。
SQL EXISTS 语法
SELECT column_name(s) FROM table_name WHERE EXISTS (SELECT column_name FROM table_name WHERE condition);
演示数据库
在本教程中,我们将使用 RUNOOB 样本数据库。
下面是选自 "Websites" 表的数据:
+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | +----+--------------+---------------------------+-------+---------+
下面是 "access_log" 网站访问记录表的数据:
mysql> SELECT * FROM access_log; +-----+---------+-------+------------+ | aid | site_id | count | date | +-----+---------+-------+------------+ | 1 | 1 | 45 | 2016-05-10 | | 2 | 3 | 100 | 2016-05-13 | | 3 | 1 | 230 | 2016-05-14 | | 4 | 2 | 10 | 2016-05-14 | | 5 | 5 | 205 | 2016-05-14 | | 6 | 4 | 13 | 2016-05-15 | | 7 | 3 | 220 | 2016-05-15 | | 8 | 5 | 545 | 2016-05-16 | | 9 | 3 | 201 | 2016-05-17 | +-----+---------+-------+------------+ 9 rows in set (0.00 sec)
SQL EXISTS 实例
现在我们想要查找总访问量(count 字段)大于 200 的网站是否存在。
我们使用下面的 SQL 语句:
SELECT Websites.name, Websites.url FROM Websites WHERE EXISTS (SELECT count FROM access_log WHERE Websites.id = access_log.site_id AND count > 200);
执行以上 SQL 输出结果如下:

EXISTS 可以与 NOT 一同使用,查找出不符合查询语句的记录:
SELECT Websites.name, Websites.url FROM Websites WHERE NOT EXISTS (SELECT count FROM access_log WHERE Websites.id = access_log.site_id AND count > 200);
执行以上 SQL 输出结果如下:

以上就是关于SQL EXISTS运算符的介绍,上述有详细的EXISTS运算符语法以及用法,希望对大家学习和理解SQL运算符有帮助,更多SQL运算符客源关注其他文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
SQL INSERT INTO 语句用于向表中插入新的数据行。在实际项目的操作过程或是学习过程中,不少人都会遇到insert into 语法的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
这篇文章主要给大家分享的是SQL分页查询方式的内容,下文通过一个示例来给大家介绍SQL分页查询的四种方式,有需要的朋友可以参考,接下来跟随小编一起了解看看吧。
listagg是Oracle的列转行函数,其基础用法是“LISTAGG(XXX,XXX) WITHIN GROUP( ORDER BY XXX)”,表示通过“Group by”语句,把每个“Group”的一个字段拼接起来。
这篇文章主要介绍了SQL 查询连续n天登录的用户情况,本文以3天为例,通过使用mysql工具sql语句给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
SQL行列转换:报表_公司采购表_每个公司各采购了些什么产品有同学问了个比较典型行列转换的问题,想想,解答如下:数据库有一张表:是个公司采购表,...
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008