联合查询
时间: 2023-09-07 22:14:28 浏览: 80
好的,联合查询是 MySQL 高级查询中的一种查询方式,可以将多个 SELECT 语句的结果集合并成一个结果集。
联合查询的语法格式为:
```
SELECT column_name FROM table1
UNION
SELECT column_name FROM table2;
```
其中,UNION 是关键字,用于将两个 SELECT 语句的结果集合并。需要注意的是,每个 SELECT 语句的列数和列类型必须相同,否则会出现错误。
举个例子,假设有两张表 table1 和 table2,它们的结构和数据如下:
table1:
| id | name | age |
| -- | ----- | --- |
| 1 | Alice | 25 |
| 2 | Bob | 30 |
table2:
| id | name | age |
| -- | ------ | --- |
| 3 | Carol | 35 |
| 4 | David | 40 |
如果要查询所有的人的姓名,可以使用联合查询:
```
SELECT name FROM table1
UNION
SELECT name FROM table2;
```
执行结果为:
| name |
| ----- |
| Alice |
| Bob |
| Carol |
| David |
可以看到,联合查询将 table1 和 table2 表中的姓名合并成了一个结果集,去除了重复的数据。
需要注意的是,如果要保留重复的数据,可以使用 UNION ALL 代替 UNION。例如:
```
SELECT name FROM table1
UNION ALL
SELECT name FROM table2;
```
执行结果为:
| name |
| ----- |
| Alice |
| Bob |
| Carol |
| David |
| Alice |
| Bob |
可以看到,这次查询结果中包含了重复的数据。
希望这些信息对您有所帮助,如果您还有其他问题或需要更详细的解释,请随时告诉我。
阅读全文