以下查询的输出是:
查询:
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不会出现在输出中?
答案 0 :(得分: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
行。