使用 CTE 模擬 PostgreSQL 查詢中的命名常數
PostgreSQL 在查詢中不提供內建命名常數。 然而,我們可以使用通用表表達式(CTE)有效地實現這一點。
建立恆定 CTE
例如,可以定義名為 const
的 CTE 來保存我們的常數值:
<code class="language-sql">WITH const AS ( SELECT 1 AS val )</code>
將常數 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中文網其他相關文章!