union和unionall
时间: 2023-10-31 07:51:31 浏览: 77
数据库中union 与union all 的区别
Union和Union All都是SQL中用来合并两个或多个表的操作符。
Union操作符将两个或多个表中的记录合并为一个结果集,并去除重复的记录。Union操作符会比较所有选定的字段,如果两条记录的所有字段都相同,则只保留一条记录。
Union All操作符也将两个或多个表中的记录合并为一个结果集,但保留所有记录,包括重复记录。Union All操作符不会比较记录的所有字段,所以即使两条记录完全相同,也会保留两条记录。
例如,假设有两个表A和B,其中A表包含以下记录:
| ID | Name | Age |
|----|------|-----|
| 1 | John | 20 |
| 2 | Mary | 25 |
| 3 | Tom | 30 |
B表包含以下记录:
| ID | Name | Age |
|----|-------|-----|
| 1 | John | 20 |
| 4 | Peter | 35 |
使用Union操作符,将A表和B表合并得到以下结果:
| ID | Name | Age |
|----|-------|-----|
| 1 | John | 20 |
| 2 | Mary | 25 |
| 3 | Tom | 30 |
| 4 | Peter | 35 |
使用Union All操作符,将A表和B表合并得到以下结果:
| ID | Name | Age |
|----|-------|-----|
| 1 | John | 20 |
| 2 | Mary | 25 |
| 3 | Tom | 30 |
| 1 | John | 20 |
| 4 | Peter | 35 |
阅读全文