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

'WHERE(col1、col2)<(val1、val2)'のSQL構文用語

    一般的な短期は、「行の値」です。 。または「行の値の比較」 あなたが示す操作のために。この機能は、SQL-92(!)以降SQL標準に含まれています。 Postgresは現在、すべての面でPostgresをサポートしている唯一の主要なRDBMSであり、特に最適なインデックスサポートも備えています。

    特に、式(col1, col2) < (1, 2) ROW(col1, col2) < ROW(1, 2)の省略形です。 Postgresで。式ROW(col1, col2) ARRAY[col1, col2]と同じように行コンストラクターとも呼ばれます は配列コンストラクタです。

    これは、より冗長で同等の表現を表すのに便利です。

    col1 < 1 OR (col1 = 1 AND col2 < 2)
    

    ...そしてPostgresは(col1, col2)のインデックスを使用できます または(col1 DESC, col2 DESC) このために。

    そして、特に(!)

    とは異なります
    col1 < 1 AND  AND col2 < 2
    

    例を考えてみましょう:(1,1) ...

    これは、ページネーションの機能について詳しく説明しているMarkusWinandによるプレゼンテーションです。

    use-the-index-luke.comの「PaginationはPostgreSQLの方法で実行されました」

    行の値の比較は20ページから始まります。私が参照しているサポートマトリックスは45ページにあります。

    私は引用した情報源のいずれとも提携していません。



    1. Sqlite Android Raw QueryINSERTINTOが機能しない

    2. MySQLのmy.cnfの場所を見つけるにはどうすればよいですか

    3. MySQLデフォルトデータベース

    4. 言語設定がSQLServerのFORMAT()結果にどのように影響するか(T-SQLの例)