在IN 子句中查詢具有多列的表
在SQL 中,使用IN 子句允許您基於集合過濾資料特定列的值。但是,使用具有多個列的 IN 子句可能具有挑戰性。
為了克服此限制,人們提出了各種解決方案,包括使用聯結或 EXISTS 子句。然而,這些方法要求主表和搜尋資料都駐留在資料庫中。
替代解決方案
對於主表和搜尋資料都駐留在資料庫中的情況資料庫中不可用,可以採用替代解決方案:
SELECT city FROM user WHERE (firstName='x' AND lastName='y') OR (firstName='a' AND lastName='b') OR ...
首選解決方案
首選解決方案取決於具體用例:
具有多列的IN 子句
但是,出現了更新的解決方案,它簡化了使用IN 子句查詢多列的過程:
SELECT city FROM user WHERE (firstName, lastName) IN (('a', 'b'), ('c', 'd'));
這種方式允許你在IN子句的括號內指定多列,更方便並根據值的組合有效地過濾資料。
以上是如何在 IN 子句中使用多列高效率查詢表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!