在 PHP 中,UNION
是一個用于合并兩個或多個 SELECT
語句的結果集的操作符。它主要用于從多個表中檢索數據并將結果組合成一個單一的結果集。以下是一些使用 UNION
的常見場景:
UNION
將這些表的結果組合在一起。UNION
默認會刪除結果集中的重復行。如果你想要保留所有行(包括重復的),可以使用 UNION ALL
。UNION
可以將復雜的查詢分解為更簡單的子查詢,從而使查詢更容易理解和維護。UNION
將這些操作組合在一起。UNION
可以用于將來自不同來源的數據合并到一個統一的結果集中。下面是一個簡單的示例,展示了如何使用 UNION
從兩個表中檢索數據并合并結果集:
<?php
// 連接到數據庫
$conn = new mysqli('localhost', 'username', 'password', 'database');
// 檢查連接
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}
// 使用 UNION 合并兩個 SELECT 查詢的結果
$sql = "SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2";
$result = $conn->query($sql);
// 處理結果集
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "column1: " . $row["column1"]. " - column2: " . $row["column2"]. "<br>";
}
} else {
echo "0 結果";
}
// 關閉連接
$conn->close();
?>
在這個示例中,我們從兩個不同的表(table1
和 table2
)中選擇了相同的列(column1
和 column2
),并使用 UNION
將這兩個查詢的結果合并在一起。然后,我們遍歷結果集并輸出每一行的數據。