有多条SELECT语句,并将多条查询结果作为单个查询结果返回,这些组合查询称为并或复合查询
用法:在单个查询中从不同的表中返回类似结构的数据
对单个表执行多个查询,按单个查询返回数据
1 创建组合查询:用UNION操作符来组合数条SQL查询,利用UNION可以给出多条SELECT
语句,将他们的结果组合成单个结果集、
SELECT id,name,price FROM products WHERE price <=5;
SELECT id,name,price FROM products WHERE id IN(1001,1002);
SELECT id,name,price FROM products WHERE price <=5
UNION
SELECT id,name,price FROM products WHERE id IN(1001,1002);
或者
SELECT id,name,price FROM products WHERE price <=5 OR id IN(1001,1002);
规则:每个查询必须包含相同的列,表达式或聚集函数
默认重复的行被自动取消,想要返回所有匹配的行,包括重复的即UNION ALL
2 排序,只能有一句order by 而不允许一部分一个排序另一部分又一个排序
SELECT id,name,price FROM products WHERE price <=5
UNION
SELECT id,name,price FROM products WHERE id IN(1001,1002)
ORDER BY id,price;