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