首頁 > 資料庫 > mysql教程 > 如何有效比較 SQL 的 IN 子句中的元組?

如何有效比較 SQL 的 IN 子句中的元組?

Linda Hamilton
發布: 2025-01-03 00:37:38
原創
832 人瀏覽過

How Can I Efficiently Compare Tuples in SQL's `IN` Clause?

在SQL「IN」子句中使用元組

使用複雜的WHERE 子句時,通常需要將一個欄位或一組欄位與值清單進行比較。在比較元組的情況下,有多種選項可用。

有硬編碼值的 IN 子句

一種方法是在 IN 子句中使用硬編碼值。但是,這對於大型表來說效率較低,因為每筆記錄都需要字串連接和轉換。

使用 VALUE 子句(標準 SQL)

標準的更有效率選項SQL-92 資料庫在 IN 運算子內使用 VALUES 子句。這涉及到將元組列表括在括號中並添加 VALUES 關鍵字。

SELECT *
FROM mytable
WHERE (group_id, group_type) IN (
                                VALUES ('1234-567', 2), 
                                       ('4321-765', 3), 
                                       ('1111-222', 5)
                               );
登入後複製

資料庫相容性

需要注意的是,並非所有 SQL 都支援此語法產品。從 SQL Server 2022 開始,此功能被認為是計劃外的。然而,PostgreSQL 和 SQLite 確實支援這種語法。

以上是如何有效比較 SQL 的 IN 子句中的元組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板