概要:このチュートリアルでは、WHERE句のPostgreSQL IN演算子を使用して、値がリスト内の任意の値と一致するかどうかを確認する方法を学
演算子構文のPostgreSQL
WHERE句でIN演算子を使用して、値が値のリスト内のいずれかの値と一致するかどうかを確認します。
IN演算子の構文は次のとおりです:
Code language: SQL (Structured Query Language) (sql)
IN演算子は、valueがリスト内の任意の値と一致する場合、つまりtrueを返します。, value1 , value2 , …
値のリストは、数値、文字列、または次のようなSELECTステートメントの結果などのリテラル値のリストにすることができます:
Code language: SQL (Structured Query Language) (sql)
かっこ内のクエリは、別のクエリ内にネストされたクエリであるサブクエリと呼ばれます。 サブクエリの詳細については、後続のチュートリアル
postgresqlの演算子の例
顧客id1と2のレンタル情報を知りたいとすると、WHERE句でIN演算子を次のように使:
次のクエリでは、in演算子の代わりにequal(=)演算子とOR演算子を使用します。 これは上記のクエリと同等です。
IN演算子を使用するクエリは、equal(=)演算子とOR演算子を使用するクエリよりも短く、読みやすくなります。 さらに、PostgreSQLはOR演算子のリストを使用する同じクエリよりもはるかに高速にIN演算子を使用してクエリを実行します。
PostgreSQL NOT IN演算子
IN演算子とNOT演算子を組み合わせて、値がリスト内の値と一致しない行を選択することができます。
たとえば、次のステートメントでは、顧客idが1または2ではないすべてのレンタルが検出されます。
IN演算子と同様に、not equal(<>)演算子とAND演算子を使用してNOT IN演算子を記述できます。
このクエリは、NOT IN演算子を使用する上記のクエリと同じ出力を返します。
このクエリは、NOT IN演算子を使用する上記のクエリと同じ出力を返します。
サブクエリを使用したPostgreSQL
次のクエリは、rentalテーブルから顧客idのリストを返し、戻り日は次のとおりです2005-05-27:
このクエリは値のリストを返すため、次のようにIN演算子の入力として使用できます:
サブクエリの詳細については、サブクエリチュートリアルを参照してください。このチュートリアルでは、PostgreSQLのIN演算子を使用して、値が値のリスト内の任意の値と一致するかどうかを確認する方法を学習しました。
- このチュートリアルは役に立ちましたか?