sql,EXISTS用法
EXISTS
指定一个子查询,检测行的存在。
语法
EXISTS subquery
参数
subquery
是一个受限的 SELECT 语句 (不允许有 COMPUTE 子句和 INTO 关键字)
结果类型
Boolean
结果值
如果子查询包含行,则返回 TRUE. EXISTS(SELECT NULL)也返回True
SELECT c.CustomerID, CompanyName FROM Customers c
执行结果:91条记录
SELECT c.CustomerID, CompanyName
FROM Customers c
WHERE EXISTS(SELECT NULL)
执行结果:91条记录
找出所有下过订单的客户
使用EXISTS的写法:
SELECT c.CustomerID, CompanyName
FROM Customers c
WHERE EXISTS
(SELECT 1 FROM Orders o WHERE o.CustomerID = c.CustomerID)
执行结果:89条记录
使用in的写法:
SELECT c.CustomerID, CompanyName
FROM Customers c
where c.CustomerID in(select distinct CustomerID from Orders)
执行结果:89条记录
检查:
SELECT c.CustomerID, CompanyName FROM Customers c
where c.CustomerID='ALFKI'
执行结果:1条记录
SELECT OrderID FROM Orders o
where o.CustomerID='ALFKI'
执行结果:6条记录
SELECT c.CustomerID, CompanyName
FROM Customers c
WHERE EXISTS
(SELECT OrderID FROM Orders o WHERE o.CustomerID = c.CustomerID) and c.CustomerID='ALFKI'
执行结果:1条记录
找出所有没下过订单的客户
使用NOT EXISTS的写法:
SELECT c.CustomerID, CompanyName
FROM Customers c
WHERE NOT EXISTS
(SELECT 1 FROM Orders o WHERE o.CustomerID = c.CustomerID)
执行结果:2条记录
使用NOT IN的写法:
SELECT c.CustomerID, CompanyName
FROM Customers c
where c.CustomerID not in(select distinct CustomerID from Orders)
执行结果:2条记录
转载于:https://www.cnblogs.com/sangsmart/archive/2010/03/19/1689992.html
sql,EXISTS用法相关推荐
- sql exists用法_新同事不讲武德,这SQL语句写得忒野了
来源 | developer.aliyun.com/article/72501今天来分享几个MySQL常见的SQL错误(不当)用法.我们在作为一个初学者时,很有可能自己在写SQL时也没有注意到这些问题 ...
- sql语句中exists用法详解
文章目录 一.语法说明 exists: not exists: 二.常用示例说明 1.查询a表在b表中存在数据 2.查询a表在b表中不存在数据 3.查询时间最新记录 4.exists替代distinc ...
- SQL学习:not exists用法
SQL学习:not exists用法 与 not in 的效果一样, 但这个效率相对高一点 例如: a1表:id name 1 张三 2 李四 a2表:id name 1 张三 2 李四 刚使用的新手 ...
- oracle中的exists 和 not exists 用法详解
from:http://blog.sina.com.cn/s/blog_601d1ce30100cyrb.html oracle中的exists 和 not exists 用法详解 (2009-05- ...
- oracle中的exists 和not exists 用法详解
有两个简单例子,以说明 "exists"和"in"的效率问题 1) select * from T1 where exists(select 1 from T2 ...
- 8 种常见的SQL错误用法
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | db匠 来源 | http://yq.aliy ...
- 你知道这 8 种 SQL 错误用法吗?
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 来源:r6d.cn/J2bw 简介 MySQL在2016年仍然保持强劲的数 ...
- 数据库优化:8 种常见的SQL错误用法
作者 | db匠 来源 | http://yq.aliyun.com/articles/72501 前言 MySQL在2016年仍然保持强劲的数据库流行度增长趋势.越来越多的客户将自己的应用建立在My ...
- 盘点 8 种最坑的 SQL 错误用法
今天为大家搜集了几类SQL错误用法,纯纯纯纯干货,来了! 1.LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如对于下面简单的语句,一般 DBA 想到的办法是在 typ ...
最新文章
- Linux Tomcat安装,Linux配置Tomcat,Linux Tomcat修改内存,Linux tomcat修改端口
- Win10系统删除文件需提供管理员权限-- 解决方案
- python语言入门n-python语言入门之字符串的一些用法
- 【C 语言】数据类型本质 ( 数据类型 | 数据类型本质 | 数组地址 | 数组首元素地址 )
- 【PAT乙级】1052 卖个萌 (20 分)
- 西南石油大学计算机科学校区,任冬梅 - 西南石油大学 - 计算机科学学院
- idea 父文件_在ideal创建新的模块(子项目,同时依赖父模块)
- Myeclipse+SSH+miniui,Action数据加载到miniui表格
- 不会吧不会吧!不会有人还有没有用CSDN的浏览器插件吧!
- 启动的时候闪退_APP突然闪退怎么办?学会这五个妙招比换手机实用,看完望周知...
- sql server 加密_SQL Server机密–第一部分–加密基础知识和SQL Server加密功能
- 卷积与反卷积、步长(stride)与重叠(overlap)及 output 的大小
- 信息学奥赛一本通(C++版)在线评测系统 1205:汉诺塔问题
- 阀门的开关方向_一字阀门开关方向怎么辨认
- No overload matches this call(vue tsx)
- c语言中e的n次方怎么打,C语言中N次方怎么打
- 关于我对游戏开发的理解
- 2019年字节跳动2020届秋招在线笔试真题(后端开发工程师)
- android WebView加载视频只有声音没有画面
- 终于有一篇文章把饭金展开说明白了。
热门文章
- TCP 三次握手与四次挥手
- oracle怎么将一列挪到另一列,详细讲解Oracle数据库的数据迁移方法
- 【Python-ML】SKlearn库RANSAC拟合高鲁棒性回归模型
- DLL的高级操作技术——Windows核心编程学习手札之二十
- Leetcode 211. 添加与搜索单词 - 数据结构设计 解题思路及C++实现
- redis的数据结构||1) 字符串类型2) 哈希类型3) 列表类型4) 集合类型 5) 有序集合类型详解
- 常见的数据结构——栈、队列、数组、链表和红黑树
- Timer的schedule和scheduleAtFixedRate方法的区别解析
- VS 2012 NuGet错误
- Java 技术篇-借助自定义对象实现函数返回多个不同类型的值实例演示