进阶9:联合查询
union联合 合并:将多条查询语句的结果合并称一个结果
语法:查询语句1
UNION
查询语句2
UNION
…应用场景:要查询的结果来自于多个表,并且多个表没有直接的连 接关系,但查询的信息一致时
特点:1.要求多条查询的查询列数是一致的!
2.要求多条查询语句的查询的每一列的类型和顺序最好是一致的
3.union 关键字默认去重,如果使用 union all 可以包含重复项
#引入:查询部门编号>90或邮箱包含a的员工信息
SELECT * from employees WHERE department_id>90 or email like '%a%';
#或
SELECT * from employees WHERE department_id>90
UNION
SELECT * from employees WHERE email like '%a%';
#案例:查询中国用户中男性的信息以及外国用户中男性的用户信息
/*
表t_ca
id cname csex
1 韩梅梅 女
2 李雷 男
3 李明 男
表t_ua
t_id tName tGender
1 john male
2 李雷 男
3 lily female
4 jack male
5 rose female
*/
SELECT id,cname,csex FROM t_ca WHERE csex='男'
UNION
select t_id,tName,tGender from t_ua WHERE tGender='male';
/*👇👇👇👇👇👇
id cname csex
2 李雷 男
3 李明 男
1 john male
4 jake male
*/
SELECT id,cname,csex FROM t_ca WHERE csex='男'
UNION ALL
select t_id,tName,tGender from t_ua WHERE tGender='male';
/*👇👇👇👇👇👇
id cname csex
2 李雷 男
3 李明 男
1 john male
2 李雷 male
4 jake male
*/