现在有两个表A和B,均是以ID为主键,B表中有AID字段对应A.ID。
现在A表中有2400条记录,B表中有2000条记录,通过查询DISTINCT AID,可知有2000条。
通过下列语句查询时,情况如下:
SELECT * FROM A WHERE ID IN (SELECT AID FROM B) 结果为2000;
SELECT * FROM A WHERE ID NOT IN (SELECT AID FROM B ) 结果为 0
SELECT * FROM A WHERE ID NOT IN (SELECT ID FROM A WHERE ID IN (SELECT AID FROM B)) 结果为400
SELECT * FROM A WHERE NOT EXISTS (SELECT * FROM B WHERE A.ID =B.AID) 结果为400呵呵,我奇怪的是第二条语句为什么会查询出0来,而不是400,请各位大大指教。谢谢
现在A表中有2400条记录,B表中有2000条记录,通过查询DISTINCT AID,可知有2000条。
通过下列语句查询时,情况如下:
SELECT * FROM A WHERE ID IN (SELECT AID FROM B) 结果为2000;
SELECT * FROM A WHERE ID NOT IN (SELECT AID FROM B ) 结果为 0
SELECT * FROM A WHERE ID NOT IN (SELECT ID FROM A WHERE ID IN (SELECT AID FROM B)) 结果为400
SELECT * FROM A WHERE NOT EXISTS (SELECT * FROM B WHERE A.ID =B.AID) 结果为400呵呵,我奇怪的是第二条语句为什么会查询出0来,而不是400,请各位大大指教。谢谢
解决方案 »
- 关于order by
- 一个聚簇索引问题.请指教
- 关于3万条数据的查询
- sqlserver数据库查询日期字段时,日期必须带单引号吗??
- 用户权限的表结构设计问题
- 如何删除sql server7.0的日志?
- 我现在要作一个网页,需要和sql server数据库联系起来,请问怎么实现?数据的添加,删除,和查找?万分紧急!回答出问题的高人...
- 第一次发布信息必须定义成快照复制吗?有没有详细介绍sql server的出版订阅的文章?谢谢
- 这样的需求,如何设计表?
- 性能问题!在物资管理中,每个月都要进行一次盘点!请问盘点的数据该怎么存储!现在有两种方案!
- 数据库连接问题
- 关于SQL Server的安装问题
SELECT * FROM A WHERE A.ID NOT IN (SELECT AID FROM B )
再试试看呢
SELECT * FROM A WHERE A.ID NOT IN (SELECT AID FROM B )后,结果仍然为0。
microtry(米醋),我也是很奇怪呀,应该说语句没有问题,但是结果就是不对,呵呵,第四句是朋友帮我想的,结果正确。但是无人知道为什么第二句不正确
是推荐做法
SELECT * FROM A WHERE ID NOT IN (SELECT ID FROM A WHERE ID IN (SELECT AID FROM B)) 结果为400----這兩句的結果不一樣?