SQL中EXISTS查询和IN查询究竟有何区别呢?下面将为您详细介绍SQL中EXISTS和IN在查询上的区别,供您参考。
- 这个例子比较了两个语义类似的查询。第一个查询使用 EXISTS 而第二个查询使用 IN。注意两个查询返回相同的信息。
- USE pubs
- GO
- SELECT DISTINCT pub_nameFROM publishers
- WHERE EXISTS
- (SELECT *
- FROM titles
- WHERE pub_id = publishers.pub_id
- AND type = \'business\')
- GO
- -- Or, using the IN clause:
- USE pubs
- GO
- SELECT distinct pub_name
- FROM publishers
- WHERE pub_id IN
- (SELECT pub_id
- FROM titles
- WHERE type = \'business\')
- GO
- 下面是任一查询的结果集:
- pub_name
- ----------------------------------------
- Algodata Infosystems
- New Moon Books
- (2 row(s) affected)
【编辑推荐】