MySQL数据库:第十一章:合并查询(联合查询)

2022-09-28 10:45:38 浏览数 (1)

回退至Mysql数据库理论与实战

#进阶10:合并查询(联合查询) 引入:一个结果集的查询的数据来自于多张表。但多张表之间没有任何关联关系。

语法: select 查询列表 from 表1 union select 查询列表 from 表2 union … select 查询列表 from 表n 特点: ①要求实现union的多条查询语句的查询列数必须一致,列名无要求,列的意义无要求,但建议一致! ②union默认实现的是去重查询。如果不想去重,则使用union all

代码语言:javascript复制
#案例1:查询所有国家的用户信息
SELECT id 编号,cname 姓名 ,cgender 性别 FROM chinese UNION
SELECT uid,uname,uname FROM usa;
#案例2:
SELECT 1,100,'张三' UNION ALL
SELECT 1,100,'张三' UNION ALL
SELECT 1,100,'张三' UNION ALL
SELECT 1,100,'张三' UNION ALL
SELECT 1,100,'张三' 
#一张表的联合查询
#案例3:查询姓名包含字符a的或工资>10000或部门编号<120或奖金不为null
#使用or
SELECT * 
FROM employees
WHERE last_name LIKE  '%a%'
OR salary>10000
OR department_id<120
OR commission_pct IS NOT NULL;
#联合查询
SELECT * FROM employees WHERE last_name LIKE  '%a%' UNION
SELECT * FROM employees WHERE salary > 10000 UNION
SELECT * FROM employees WHERE department_id<120 UNION
SELECT * FROM employees WHERE commission_pct IS NOT NULL;

0 人点赞