阅读量:0
在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
的结果是相同的。但是,如果你的数据集中存在重复的记录,你需要根据实际情况选择使用哪个操作符。