举例说明使用SQL中EXISTS和IN查询的区别

数据库 SQL Server
SQL中EXISTS查询和IN查询不尽相同,下面就以例子为您详细介绍二者的区别,希望对您学习SQL中EXISTS查询有所帮助。

SQL中EXISTS查询和IN查询究竟有何区别呢?下面将为您详细介绍SQL中EXISTS和IN在查询上的区别,供您参考。

  1. 这个例子比较了两个语义类似的查询。第一个查询使用 EXISTS 而第二个查询使用 IN。注意两个查询返回相同的信息。  
  2. USE pubs  
  3. GO  
  4. SELECT DISTINCT pub_nameFROM publishers  
  5. WHERE EXISTS     
  6.         (SELECT *     
  7.          FROM titles     
  8.          WHERE pub_id = publishers.pub_id     
  9.          AND type = \'business\')  
  10. GO  
  11. -- Or, using the IN clause:  
  12. USE pubs  
  13. GO  
  14. SELECT distinct pub_name  
  15. FROM publishers  
  16. WHERE pub_id IN     
  17.     (SELECT pub_id     
  18.      FROM titles     
  19.      WHERE type = \'business\')  
  20. GO  
  21.  
  22. 下面是任一查询的结果集:  
  23. pub_name                                  
  24. ----------------------------------------  
  25. Algodata Infosystems                       
  26. New Moon Books                             
  27. (2 row(s) affected)  

【编辑推荐】

SQL中SUBSTRING的语法说明

教您如何使用sql DATENAME

SQL查询日期的问题

SQL外连接简介

SQL中CREATE语句的使用

责任编辑:段燃 来源: 互联网
相关推荐

2010-06-22 13:08:42

Linux At命令

2010-09-24 18:03:38

SQL中EXISTS

2018-11-28 08:20:15

Linuxalias命令

2013-11-26 11:08:23

Linux命令diff

2009-09-25 09:30:33

Hibernate持久

2010-09-24 18:52:53

SQL中NOT EXI

2010-01-18 17:31:54

C++编写程序

2010-06-18 10:24:51

Linux acces

2010-01-12 15:56:25

C++软件

2010-03-04 13:21:32

linux压缩命令

2010-01-21 09:53:23

C++操作符

2010-03-03 10:55:39

2010-01-06 16:54:07

.Net Framew

2010-03-04 13:45:37

Linux压缩命令

2009-12-07 17:28:55

WCF数据

2010-01-08 17:06:52

C++代码

2010-04-09 16:52:36

Unix操作系统

2010-03-04 15:00:12

Linux不同网段访问

2010-01-20 10:19:16

VB.NET动态接口

2010-01-06 10:35:02

Json_Decode
点赞
收藏

51CTO技术栈公众号