1. 概念
1.1 Set
Set 是一个没有重复数据的集合。Set 操作的参与方和结果里都没有重复元素。
1.2 Bags
Bags 是可以有重复数据的集合。数据库中操作一般是 Bag 操作。
2 Bags 操作
2.1 Select
C1 | C2 | C3 |
---|---|---|
1 | 2 | 5 |
3 | 4 | 6 |
1 | 2 | 7 |
1 | 2 | 8 |
select C1, C2 的结果
C1 | C2 |
---|---|
1 | 2 |
3 | 4 |
1 | 2 |
1 | 2 |
2.2 UNION ALL
假设记录 t 在关系 S 中出现 n 次,在关系 R 中出现 m 次,那么在 S UNION ALL R 中出现 n + m 次。
S:(1,2) 出现 3次, (3,4)出现1次
C1 | C2 |
---|---|
1 | 2 |
3 | 4 |
1 | 2 |
1 | 2 |
R: (1,2)出现1次, (3,4)出现2次, (5,6)出现1次
C1 | C2 |
---|---|
1 | 2 |
3 | 4 |
3 | 4 |
5 | 6 |
S UNION ALL R 的结果: (1,2) 出现 4次, (3,4)出现3次, (5,6)出现1次
C1 | C2 |
---|---|
1 | 2 |
3 | 4 |
1 | 2 |
1 | 2 |
1 | 2 |
3 | 4 |
3 | 4 |
5 | 6 |
2.2 UNION
和 UNION ALL 的结果一样
2.3 Intersection
假设记录 t 在关系 S 中出现 n 次,在关系 R 中出现 m 次,那么在 S INTERSECTION R 中出现 MIN(n, m) 次。
S:(1,2) 出现 3次, (3,4)出现1次
C1 | C2 |
---|---|
1 | 2 |
3 | 4 |
1 | 2 |
1 | 2 |
R: (1,2)出现1次, (3,4)出现2次, (5,6)出现1次
C1 | C2 |
---|---|
1 | 2 |
3 | 4 |
3 | 4 |
5 | 6 |
S INTERSECTION R 的结果: (1,2) 出现 1次, (3,4)出现1次
C1 | C2 |
---|---|
1 | 2 |
3 | 4 |
2.4 Difference(MINUS)
假设记录 t 在关系 S 中出现 n 次,在关系 R 中出现 m 次,那么在 S INTERSECTION R 中出现 n-m 次。
S:(1,2) 出现 3次, (3,4)出现1次
C1 | C2 |
---|---|
1 | 2 |
3 | 4 |
1 | 2 |
1 | 2 |
R: (1,2)出现1次, (3,4)出现2次, (5,6)出现1次
C1 | C2 |
---|---|
1 | 2 |
3 | 4 |
3 | 4 |
5 | 6 |
S MINUS R 的结果: (1,2) 出现 2 次
C1 | C2 |
---|---|
1 | 2 |
1 | 2 |