MySQL学习笔记 ------ 联合查询

#进阶9:联合查询
/*
union 联合 合并:将多条查询语句的结果合并成一个结果

语法:
查询语句1
union
查询语句2
union
...


应用场景:
要查询的结果来自于多个表,且多个表没有直接的连接关系,但查询的信息一致时

特点:
1、要求多条查询语句的查询列数是一致的!
2、要求多条查询语句的查询的每一列的类型和顺序最好一致
3、union关键字默认去重,如果使用union all 可以包含重复项

*/


#引入的案例:查询部门编号>90或邮箱包含a的员工信息

SELECT * FROM employees WHERE email LIKE '%a%' OR department_id>90;

SELECT * FROM employees  WHERE email LIKE '%a%'
UNION
SELECT * FROM employees  WHERE department_id>90;


#案例:查询中国用户中男性的信息以及外国用户中年男性的用户信息

SELECT id,cname FROM t_ca WHERE csex='男'
UNION ALL
SELECT t_id,tname FROM t_ua WHERE tGender='male';

#------联合查询总结------#
一、含义
UNION:合并、联合,将多次查询结果合并成一个结果
二、语法
查询语句1
UNION 【ALL】
查询语句2
UNION 【ALL】
...

三、意义
1、将一条比较复杂的查询语句拆分成多条语句
2、适用于查询多个表的时候,查询的列基本是一致

四、特点
1、要求多条查询语句的查询列数必须一致
2、要求多条查询语句的查询的各列类型、顺序最好一致
3、UNION 去重,UNION ALL包含重复项

#-----查询语句的执行顺序------#
语法:
SELECT 查询列表     ⑦
FROM 表1 别名       ①
连接类型 JOIN 表2   ②
ON 连接条件         ③
WHERE 筛选          ④
GROUP BY 分组列表   ⑤
HAVING 筛选         ⑥
ORDER BY排序列表    ⑧
LIMIT 起始条目索引,条目数;  ⑨


 

猜你喜欢

转载自blog.csdn.net/weixin_47156401/article/details/131927965