避免在 SQL SELECT 語句中手動列出欄位
標準 SQL SELECT * FROM table
語句會擷取所有欄位。 然而,省略特定列而不手動列出其餘列可能具有挑戰性。 本文提出了一個從 SELECT
查詢中有效排除列的解決方案。
問題出現了:如何從 columnA
查詢中排除列 (SELECT
),而不明確命名其他所有欄位? 直接使用 SELECT * [except columnA] FROM tableA
不是有效的 SQL 語法。
有效的方法
這裡有一個有效實現此目的的方法:
SELECT ... INTO
建立一個包含來源表中所有欄位的臨時表。 <code class="language-sql">SELECT * INTO #TempTable FROM tableA;</code>
ALTER TABLE ... DROP COLUMN
從臨時表中刪除目標欄位。 <code class="language-sql">ALTER TABLE #TempTable DROP COLUMN columnA;</code>
<code class="language-sql">SELECT * FROM #TempTable;</code>
<code class="language-sql">DROP TABLE #TempTable;</code>
此技術提供了一種排除列的簡化方法,在處理包含大量列的表時特別有用。它避免了手動指定要包含的每一列的容易出錯且耗時的任務。
以上是如何在不列出所有其他列的情況下從 SQL 中的 SELECT 查詢中有效地排除列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!