首頁 >資料庫 >mysql教程 >如何正確使用 NOT IN 來檢索 MySQL 中的不同行?

如何正確使用 NOT IN 來檢索 MySQL 中的不同行?

Susan Sarandon
Susan Sarandon原創
2025-01-13 14:22:42329瀏覽

How to Correctly Use `NOT IN` to Retrieve Distinct Rows in MySQL?

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn