在 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
将这两个查询的结果合并在一起。然后,我们遍历结果集并输出每一行的数据。