首頁 >資料庫 >mysql教程 >為什麼我的MySQL WHERE IN()查詢不回傳多值記錄?

為什麼我的MySQL WHERE IN()查詢不回傳多值記錄?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-04 17:54:02458瀏覽

Why Doesn't My MySQL WHERE IN () Query Return Records with Multiple Values?

MySQL WHERE IN () 查詢未傳回預期結果

在MySQL 中,WHERE IN () 語句通常用於擷取基於在一組指定值上。但是,有時使用者會遇到結果中未傳回預期行的情況。

問題描述:

使用者有一個查詢,該查詢從「表」中選取所有行" 其中「id」列位於指定清單中的表:

<code class="sql">SELECT * FROM table WHERE id IN (1,2,3,4);</code>

使用者註意到,當一筆記錄具有多個「id」值(例如,同時為1 和3)時,不會傳回該記錄

理解問題:

WHERE IN () 語句將提供的值清單轉換為一系列OR 運算子:

<code class="sql">SELECT * FROM table WHERE id='1' or id='2' or id='3' or id='4';</code>

這表示僅傳回「id」欄位與指定值之一完全匹配的行。資料結構。解決方案會帶來額外的複雜性,並且可能不適合所有場景。

以上是為什麼我的MySQL WHERE IN()查詢不回傳多值記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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