在開發(fā)中,常常需要從數(shù)據(jù)庫中查詢多個數(shù)據(jù)集合并起來使用。MySQL 提供了 UNION 操作符來實(shí)現(xiàn)這一功能。
UNION 操作符可以將兩個 SELECT 查詢的結(jié)果集合并起來返回。但需要注意,需要合并的兩個 SELECT 查詢的結(jié)果集中的字段數(shù)必須相同,并且字段類型也需相同。此外,使用 UNION 操作符時,默認(rèn)情況下會去重,如果想要保留重復(fù)記錄,可以使用 UNION ALL。
-- 示例 SELECT column1, column2 FROM table1 WHERE condition UNION SELECT column1, column2 FROM table2 WHERE condition;
在上面的語句中,兩個 SELECT 查詢的結(jié)果集會合并起來,返回 column1 和 column2 兩列,同時去掉重復(fù)的記錄。
需要注意的是,如果要使用 ORDER BY 對合并后的結(jié)果集進(jìn)行排序,必須將 ORDER BY 子句添加在最后一個 SELECT 查詢之后,而且只能使用合并后的 SELECT 列表中的列進(jìn)行排序。
-- 示例 SELECT column1, column2 FROM table1 WHERE condition UNION SELECT column1, column2 FROM table2 WHERE condition ORDER BY column1 DESC;
在上面的語句中,合并后的結(jié)果集會按照 column1 列進(jìn)行倒序排序。
總之,UNION 操作符是 MySQL 中一個非常強(qiáng)大的操作符,可以讓我們輕松地將多個 SELECT 查詢的結(jié)果集合并起來使用。
上一篇mysql什么是吞吐量