從 SELECT 語句建立臨時表
從資料庫查詢資料通常需要連接多個資料表或以複雜的方式操作資料。建立臨時表可以透過提供一種方便的方式來儲存中間結果或非規範化資料來簡化這些操作。然而,為每個臨時表使用單獨的 CREATE TABLE 語句可能非常耗時且容易出錯。
使用 SELECT 語句建立臨時表
MySQL 提供透過允許直接從 SELECT 語句建立臨時表來解決此問題。這樣就無需手動指定列類型,並確保臨時表與所選資料具有相同的結構。
從SELECT 語句建立臨時表的語法如下:
CREATE TEMPORARY TABLE IF NOT EXISTS table_name AS SELECT * FROM existing_table;
TEMPORARY 關鍵字指示該表是暫時的,而IF NOT EXISTS 子句確保僅在該表尚不存在時才建立該表。 SELECT 子句指定應複製到暫存表中的資料。
範例
考慮下列情境:
SELECT product_name, unit_price, quantity_in_stock FROM Products;
此查詢從 Products 表擷取資料。若要建立僅包含產品名稱、單價和庫存數量的臨時表,請使用以下語句:
CREATE TEMPORARY TABLE IF NOT EXISTS ProductSummary AS SELECT product_name, unit_price, quantity_in_stock FROM Products;
新建立的 ProductSummary 表現在可以在後續查詢中使用根據需求。
優點
從SELECT 語句創建臨時表提供了幾個優點優點:
以上是如何使用 SELECT 語句在 MySQL 中建立臨時表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!