在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
的結果是相同的。但是,如果你的數據集中存在重復的記錄,你需要根據實際情況選擇使用哪個操作符。