sql >> データベース >  >> RDS >> PostgreSQL

IN値リストによる注文

    Postgresで9.4 以降、これは最もシンプルで最速です

    SELECT c.*
    FROM   comments c
    JOIN   unnest('{1,3,2,4}'::int[]) WITH ORDINALITY t(id, ord) USING (id)
    ORDER  BY t.ord;
    
    • WITH ORDINALITY Postgres9.4で導入されました。

    • サブクエリは必要ありません。テーブルのようにset-returning関数を直接使用できます。 (別名「テーブル機能」)

    • ARRAYコンストラクターの代わりに配列に渡す文字列リテラルは、一部のクライアントで実装する方が簡単な場合があります。

    • 便宜上(オプションで)、結合する列名をコピーします(id 例では)、短いUSINGで参加できます 結果で結合列の単一のインスタンスのみを取得する句。

    • 任意で動作します 入力方式。キー列のタイプがtextの場合 、'{foo,bar,baz}'::text[]のようなものを提供します 。

    詳細な説明:

    • 要素番号付きのPostgreSQLunnest()


    1. Receive-Jobによって返される予期しない変数タイプ

    2. Postgres 8.2で参照整合性を無効にするにはどうすればよいですか?

    3. SQLite SUBSTRING()の説明

    4. OracleSQLクエリで文字列contains関数を使用する