一、联合查询的概念
ion)是指将两个或以上的SELECT语句的结果集合并到一起,形成一个新的结果集。其结果集中不包含重复的记录,且记录的顺序是随机的。
二、联合查询的语法
联合查询的语法格式如下:
“`sql FROM 表名1 WHERE 条件1
UNION [ALL] FROM 表名2 WHERE 条件2
……
UNION [ALL];
1. SELECT语句必须为每个查询都指定相同的列数目,列名可以不同,但是必须具有相同的数据类型;
2. 如果使用了ALL关键字,则结果集中可能包含重复的记录;
3. UNION关键字用于连接两个或以上的SELECT语句,必须放在两个SELECT语句之间;
4. UNION操作符会将查询结果按照列数目相同的顺序进行合并,如果列数目不同,则需要使用NULL填充;
5. UNION关键字默认会对结果集进行排序,如果不需要排序,则可以使用UNION ALL代替UNION。
三、实例演示
t)和教师表(teacher),两表的结构和数据如下:
ameder | age
—-|——-|——–|—–
1 | 小明 | 男| 18
2 | 小红 | 女| 17
3 | 小刚 | 男| 18
4 | 小丽 | 女| 17
5 | 小李 | 男| 18
教师表(teacher):
ameder | age
—-|——-|——–|—–
1 | 张老师 | 男| 30
2 | 李老师 | 女| 28
3 | 王老师 | 男| 35
大家需要查询学生表和教师表中所有年龄为18岁的人的姓名和性别信息,可以使用如下SQL语句:
“`sqlamedert WHERE age = 18
UNIONameder FROM teacher WHERE age = 18;
执行结果如下:
ameder
——-|——–
小明 | 男
小刚 | 男
小李 | 男
张老师 | 男
联合查询是MySQL中常用的查询语句之一,通过联合查询可以将多个表的数据进行合并,使得查询结果更加全面、准确。联合查询的语法比较简单,但是需要注意查询结果的排序和NULL填充问题。在实际开发中,需要根据具体的业务需求来灵活运用联合查询语句。