查詢具有非不同列值的行
在 SQL 中,常見的任務是檢索特定列的值為不明顯。這對於識別重複資料或檢測異常非常有用。
範例場景
考慮一個名為 Customers 的表,其中包含以下資料:
CustomerName | EmailAddress |
---|---|
Aaron | [email protected] |
Christy | [email protected] |
Jason | [email protected] |
Eric | [email protected] |
John | [email protected] |
要檢索 EmailAddress所有列不重複的行,我們可以使用以下指令查詢:
SELECT EmailAddress, CustomerName FROM Customers WHERE EmailAddress IN (SELECT EmailAddress FROM Customers GROUP BY EmailAddress HAVING COUNT(*) > 1)
解釋
IN 子句過濾子查詢中找到的 EmailAddress 值。子查詢將所有 EmailAddress 值分組並計算每個值的出現次數。然後,HAVING 子句僅選擇出現多次的群組(即非不同值)。
透過使用這種方法,我們可以有效地識別並傳回 EmailAddress 列不明顯的行。在大多數情況下,此方法比使用 EXISTS 運算子要快得多。
以上是如何在 SQL 中尋找和檢索具有非唯一列值的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!