【数据库】MySQL之union联合查询

联合查询:

关键字union,作用就是将多条查询语句的结果合并成一个结果集。

案例:(查询部门编号大于100或名字中含有a字符的员工信息)

bash 复制代码
select * from employees where department_id>100 or last_name like '%a%';

用联合查询演示:

sql 复制代码
select * from employees where department_id>100
union
select * from employees where last_name like '%a%';

union是应用场景:

比如在我们有个数据库中的老师表和学生表,两者之间没有直接的关联关系,但是又有一些共通性,但是现在我们想要查询学校所有男老师和男学生的信息(学生和老师的编号,姓名,出现日期,性别),这个时候就是应用union的时候。

sql 复制代码
SELECT `tno` 编号,`tname`,`tsex`,`tbirthday`
FROM `teachers`
WHERE `tsex`='男'
UNION
SELECT `sno`,`sname`,`ssex`,`sbirthday`
FROM `students`
WHERE `ssex`='男';

联合查询的特点:

  • 联合查询的两个子查询的查询字段个数要一致
  • 要求联合查询的子查询的查询列表顺序要在内容上保持一致
  • 使用union联合默认会自动去重,如果不想去重可以将union改为union all
相关推荐
【非典型Coder】5 分钟前
Statement和PreparedStatement区别
数据库
m0_736927041 小时前
想抓PostgreSQL里的慢SQL?pg_stat_statements基础黑匣子和pg_stat_monitor时间窗,谁能帮你更准揪出性能小偷?
java·数据库·sql·postgresql
lang201509281 小时前
MySQL 8.0.29 及以上版本中 SSL/TLS 会话复用(Session Reuse)
数据库·mysql
望获linux2 小时前
【实时Linux实战系列】使用 u-trace 或 a-trace 进行用户态应用剖析
java·linux·前端·网络·数据库·elasticsearch·操作系统
咖啡Beans2 小时前
6分钟慢速搭建MySQL服务器
mysql
清和与九2 小时前
binLog、redoLog和undoLog的区别
数据库·oracle
望获linux2 小时前
【实时Linux实战系列】FPGA 与实时 Linux 的协同设计
大数据·linux·服务器·网络·数据库·fpga开发·操作系统
总有刁民想爱朕ha2 小时前
Python自动化从入门到实战(24)如何高效的备份mysql数据库,数据备份datadir目录直接复制可行吗?一篇给小白的完全指南
数据库·python·自动化·mysql数据库备份
朝九晚五ฺ3 小时前
【Redis学习】持久化机制(RDB/AOF)
数据库·redis·学习
虾说羊3 小时前
sql中连接方式
数据库·sql