mysql-联合查询

含义

union:联合、合并,将多条查询语句的结果合并成一个结果

案例引入:查询部门编号>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;

语法

查询语句1
union 【all】
查询语句2
union 【all】

应用场景

当要查询的结果来自于多张表,且多张表之前没有直接的连接关系,但查询的信息一致时。

特点

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

  • 将一条比较复杂的查询语句拆分成多条语句
  • 使用于查询多个表的时候,查询的列基本是一致的。

案例:表1: t_ca表

id cname csex
1 韩梅梅
2 李雷
3 张三

表2:t_ua

id tName tGender
1 john male
2 lily fmale
3 Emily fmale
4 jack male
5 rose fmale

查询中国用户男性信息和外国用户男性信息

select cname,csex from t_ca where csex="男"
union
select tName,tGender from t_ua where tGender="male";

你可能感兴趣的:(mysql,mysql,sql)