MySQL 的 NOT IN
運算子:在選擇不同行時避免語法錯誤
許多使用者在使用 MySQL 的 NOT IN
運算子檢索在另一個表格中找不到列值的行時遇到語法錯誤。 雖然 MySQL 確實 支援 NOT IN
,但語法至關重要。
查詢:
SELECT * FROM Table1 WHERE Table1.principal NOT IN Table2.principal
不正確,會產生文法錯誤。 正確的語法需要子查詢:
SELECT * FROM Table1 WHERE Table1.principal NOT IN (SELECT principal FROM Table2)
透過使用括號將 (SELECT principal FROM Table2)
括起來,您可以建立子查詢。 然後 MySQL 會正確地將其解釋為一組值來與 Table1.principal
進行比較。此修改後的查詢有效地傳回來自 Table1
的所有行,其中子查詢結果中不存在 principal
值。 這解決了語法錯誤並提供了預期的結果。
以上是如何正確使用 NOT IN 來檢索 MySQL 中的不同行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!