CTE を使用した PostgreSQL クエリの名前付き定数のシミュレーション
PostgreSQL はクエリ内に組み込みの名前付き定数を提供しません。 ただし、Common Table Expressions (CTE) を使用すると、これを効果的に実現できます。
一定の CTE の作成
たとえば、const
という名前の CTE は、定数値を保持するように定義できます。
<code class="language-sql">WITH const AS ( SELECT 1 AS val )</code>
一定 CTE をクエリに統合する
この CTE は、CROSS JOIN
:
<code class="language-sql">SELECT ... FROM const CROSS JOIN <your_tables></code>
具体例
値 5 の定数 MY_ID
が必要だとします。クエリは次のようになります。
<code class="language-sql">WITH const AS ( SELECT 5 AS val ) SELECT * FROM users WHERE id = (SELECT val FROM const);</code>
この方法の利点
このアプローチにはいくつかの利点があります。
この手法は、PostgreSQL クエリで名前付き定数が直接サポートされていない場合の実用的な回避策を提供します。
以上がPostgreSQL クエリで名前付き定数を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。