簡體   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