mySQL联合查询union

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

#查询部们编号大于100或则名字包含a的员工信息:

常规写法:

SELECT * FROM employees
WHERE
    department_id > 100
OR
    last_name LIKE '%a%';

联合写法:

SELECT * FROM employees
WHERE
	department_id > 100
UNION
SELECT * FROM employees
WHERE
	last_name LIKE '%a%'
ORDER BY employee_id;

上例的例子不是经典使用,在实际使用中的应用场景:

如下两个数据库中:

student:

teacher:

老师表和学生表之间没有直接胡关联关系,但是又有一些共性,比如我们想查询学校所有的男老师和男学生的信息(学生和老师胡编号、姓名、出生日期、性别),这个时候就可以使用联合查询。

SELECT tno 序号, tname 名字, tsex 性别, tbirthday 出生日期
FROM student
WHERE tsex = '男'
UNION
SELECT sno, sname, ssex, sbirthday
FROM teacher
WHERE ssex = '男';

输出:

注意:

1、联合查询的输出结果必须是被联合的表都包含类似的输出项,且在输出时输出项的顺序要一直,否则联合输出时就会出现错排。

2、联合输出的结果可以取别名,但是只能在双方项的其中一个项取名。

发布了70 篇原创文章 · 获赞 4 · 访问量 3988

猜你喜欢

转载自blog.csdn.net/l0510402015/article/details/100923450