IN 演算子

参考:

SQL の IN を複数列指定で使う – Qiita

SQL IN Operator | W3Schools

SQLite3

参考:

指定した値のリストと比較 (IN 句) | SQLite 入門 (www.dbonline.jp)

Determine a Value Matches Any Value In A List | SQLite Tutorial (sqlitetutorial.net)

IN Condition | TechOnTheNet

expression | SQLite Query Language (sqlite.org)

SELECT | SQLite Query Language (sqlite.org)

“IN” clause – Stack Overflow

MySQL / MariaDB

参考:

expr IN (value,…) | MySQL 5.6 リファレンスマニュアル [公式]

expr IN (value,…) | MySQL 8.0 Reference Manual [Official]

IN | MariaDB Knowledge Base [Official]

PostgreSQL

参考:

SQL の IN 句で複数の条件を指定する | しょぼんメモリ

行と配列の比較 | PostgreSQL 11.3 文書 (postgresql.jp)

IN – 副問い合わせ式 | PostgreSQL 11.3 文書 (postgresql.jp)

NOT IN – 副問い合わせ式 | PostgreSQL 11.3 文書 (postgresql.jp)

値の組み合わせに対して使う

SELECT * FROM table
WHERE (col1, col2) IN ((1, 2), (3, 4), (5, 6))

VALUES を使う。

SELECT * FROM table
WHERE (col1, col2)
IN (
  VALUES (1, 2), (3, 4), (5, 6)
)

参考:

SQL の IN を複数列指定で使う – Qiita

SQL の IN 句で複数の条件を指定する | しょぼんメモリ

‘In’ clause in SQL server with multiple columns – Stack Overflow

selecting where two columns are in a set – Database Administrators Stack Exchange

How can I rewrite a multi-column IN clause to work on SQLite? – Stack Overflow

サブクエリで抽出した複数カラムに対して使う

サブクエリで他のテーブルに存在するカラムの組み合わせを使う。

SELECT * FROM table1
WHERE (col1, col2)
IN (SELECT col1, col2 FROM table2)

EXISTS を使って書き換える。

SELECT * FROM table1
WHERE EXISTS (
  SELECT * FROM table2
  WHERE 
    table1.col1 = table2.col1 AND
    table1.col2 = table2.col2
)

INNER JOIN を使う。

SELECT table1.* FROM table1
INNER JOIN (
  SELECT DISTINCT col1, col2 FROM table2
) AS table2_sub
ON
  table1.col1 = table2_sub.col1 AND
  table1.col2 = table2_sub.col2

参考:

WHERE.. IN clause multiple columns – Stack Overflow

ROW

参考:

行コンストラクタ | PostgreSQL 11.3 文書 (postgresql.jp)

Row Constructors | PostgreSQL Documentation [Official]

VALUES

参考:

Table Value Constructors | MariaDB Knowledge Base [Official]

VALUES | PostgreSQL 11.3 文書 (postgresql.jp)

VALUES | PostgreSQL Documentation [Official]

SELECT DISTINCT

参考:

SQL SELECT with DISTINCT on multiple columns | w3resource

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です