繁体   English   中英

在SQL中将表与自己比较?

[英]Compare a table with itrself in SQL?

以下查询的输出是:

查询:

SELECT CategoryID
FROM Categories
WHERE EXISTS (SELECT CategoryID FROM Categories as c WHERE c.CategoryID < Categories.CategoryID);

输出:

2
3
4

表类别:

CategoryID  CategoryName
1           Beverages
2           Condiments
3           Confections
4           Dairy Products

我想跟踪子查询(SELECT CategoryID FROM Categories as c WHERE c.CategoryID < Categories.CategoryID) 记录是否一一比较? 为什么ID 1没有出现在输出上?

EXISTS用于子查询中任何记录的存在。

当您使用SELECT CategoryID FROM Categories as c WHERE c.CategoryID < Categories.CategoryID

CategoryID = 1没有任何行匹配

如果要获得CategoryID = 1

尝试使用

c.CategoryID <= Categories.CategoryID

代替

c.CategoryID < Categories.CategoryID

包含CategoryID = 1行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM