SQLに記載された「WHERE 1=1」の意味

WordPressで実行されたSQLクエリを確認した際に、「WHERE 1=1」とあったので調べてみました。

あわせて読みたい
WordPressで実行されるSQLクエリを確認する方法 WordPressで実行されるSQLクエリを確認する方法には、主に次の2つがあります。 プラグイン フロントエンドにSQLクエリを出力 【プラグイン】 WordPressの開発者向けのプ...

「WHERE 1=1」と記載する主な理由は、プログラムによって動的に生成するSQLをプログラミングしやすくするためでした。

複数のWHERE句の条件がある場合、「WHERE 1=1」の記載がないとWHERE句の条件のプログラミングが煩雑になります。煩雑になる理由は、最初のWHERE句の条件かどうかでプログラミングを変えないといけないためです。

「WHERE 1=1」を記載しておくと、最初のWHERE句かどうか考える必要がないため、プログラミングが簡易となります。

同様に動的に生成するSQLをプログラミングしやすくするために「WHERE 1=0(またはWHERE 1=2)」と「OR」を組み合わせて、活用することもあるらしいです。

「WHERE 1=0(またはWHERE 1=2)」と「OR」を組み合わせることで、特定の条件のみでSQLによる抽出が多なわれるようになります。

目次