Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

IN 条件

フォーカスモード
IN 条件 - Amazon Redshift

IN 条件は、一連の値の中に、またはサブクエリ内にあるメンバーシップの値をテストします。

構文

expression [ NOT ] IN (expr_list | table_subquery)

引数

expression

expr_list または table_subquery に対して評価される数値、文字、または日時であり、当該リストまたはサブクエリのデータ型との互換性が必要です。

expr_list

1 つまたは複数のカンマ区切り式、あるいは括弧で囲まれたカンマ区切り式の 1 つまたは複数のセット。

table_subquery

評価結果として 1 つまたは複数の行を持つテーブルを返すサブクエリですが、その選択リスト内の列数は 1 個に制限されています。

IN | NOT IN

IN は、式が式リストまたはクエリのメンバーである場合に true を返します。NOT IN は、式がメンバーでない場合に true を返します。expression の結果が Null である場合、または、一致する expr_list 値または table_subquery 値がなく、これらの比較行の 1 つ以上の結果が Null である場合、IN と NOT IN は NULL を返し、行は返されません。

次の条件は、リストされた値の場合にのみ true を返します。

qtysold in (2, 4, 5) date.day in ('Mon', 'Tues') date.month not in ('Oct', 'Nov', 'Dec')

大規模 IN リストの最適化

クエリのパフォーマンスを最適化するために、10 個を超える値が含まれる IN リストは内部的にスカラー配列として評価されます。10 個未満の値が含まれる IN リストは一連の OR 述語として評価されます。SMALLINT、INTEGER、BIGINT、REAL、DOUBLE PRECISION、BOOLEAN、CHAR、VARCHAR、DATE、TIMESTAMP、および TIMESTAMPTZ データ型では最適化がサポートされています。

この最適化の効果を確認するには、クエリの EXPLAIN 出力を調べてください。次に例を示します。

explain select * from sales QUERY PLAN -------------------------------------------------------------------- XN Seq Scan on sales (cost=0.00..6035.96 rows=86228 width=53) Filter: (salesid = ANY ('{1,2,3,4,5,6,7,8,9,10,11}'::integer[])) (2 rows)

このページの内容

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.