MySQL中的集合查询是指通过集合操作符(如UNION
、INTERSECT
、EXCEPT
)将多个SELECT语句的结果组合成一个结果集的操作。这些操作符允许你在不同的表或查询之间进行数据的合并、交集和差集操作。
UNION
可以将多个查询的结果合并成一个结果集,这在需要从多个表中获取数据时非常有用。INTERSECT
可以找出多个查询结果的交集,这在需要筛选出同时满足多个条件的数据时非常有用。EXCEPT
可以找出一个查询结果中不在另一个查询结果中的数据,这在需要排除某些数据时非常有用。UNION
。INTERSECT
。EXCEPT
。假设我们有两个表employees
和managers
,结构如下:
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(100),
role VARCHAR(50)
);
CREATE TABLE managers (
id INT PRIMARY KEY,
name VARCHAR(100),
role VARCHAR(50)
);
SELECT name, role FROM employees
UNION
SELECT name, role FROM managers;
SELECT name, role FROM employees
INTERSECT
SELECT name, role FROM managers;
SELECT name, role FROM employees
EXCEPT
SELECT name, role FROM managers;
UNION
默认会去除重复行并排序,如果需要保持结果集的顺序,可以使用ORDER BY
子句。UNION
默认会去除重复行并排序,如果需要保持结果集的顺序,可以使用ORDER BY
子句。希望这些信息对你有所帮助!
领取专属 10元无门槛券
手把手带您无忧上云