在MySQL中,你可以使用UNION
操作符来合并两个或多个SELECT
语句的结果集。这里有一个例子说明如何合并score
表中的数据:
-- 创建一个名为score的表
CREATE TABLE score (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
score INT NOT NULL
);
-- 向表中插入一些数据
INSERT INTO score (name, score) VALUES ('Alice', 90);
INSERT INTO score (name, score) VALUES ('Bob', 85);
INSERT INTO score (name, score) VALUES ('Cathy', 92);
-- 使用UNION合并两个SELECT语句的结果集
SELECT * FROM (
SELECT name, score FROM score WHERE score >= 90
UNION ALL
SELECT name, score FROM score WHERE score < 90
) AS combined_result
ORDER BY score DESC;
在这个例子中,我们首先创建了一个名为score
的表,然后向表中插入了一些数据。接下来,我们使用UNION
操作符合并了两个SELECT
语句的结果集。第一个SELECT
语句获取分数大于等于90的记录,第二个SELECT
语句获取分数小于90的记录。最后,我们按照分数降序对合并后的结果集进行排序。
注意:在这个例子中,我们使用了UNION ALL
而不是UNION
。UNION ALL
会保留所有的结果集,包括重复的记录,而UNION
会自动去除重复的记录。在这种情况下,由于我们的两个SELECT
语句没有重复的记录,所以使用UNION ALL
和UNION
的结果是相同的。但是,如果你的数据集中存在重复的记录,你需要根据实际情况选择使用哪个操作符。