Store_Info表:
store_name | sales | date |
A | 500 | 01-01-2000 |
B | 200 | 02-01-2000 |
A | 1500 | 02-10-2000 |
D | 1000 | 03-08-2000 |
Sales表:
sales | date |
200 | 02-01-2000 |
1000 | 03-08-2000 |
600 | 04-08-2000 |
750 | 05-08-2000 |
表链接查询除了可以使用JOIN,还可以使用UNION(并集)、UNION ALL(相加)、INTERSECT(交集)、MINUS(A-(A∩B))
UNION 指令是将两个SQL语句的结果合并起来,有点类似JOIN。再使用UNION时,必须注意两个SQL语句所查询的结果应该是同一类的表中参数名,且数据格式也要是一样的。另外,UNION所查询的结果,是两个表中不同数据值的集合,不会出现相同的值。如:
SELET date FROM Store_Info
UNION
SELECT date FROM Sales 得出的结果:
date |
01-01-2000 |
02-01-2000 |
02-10-2000 |
03-08-2000 |
04-08-2000 |
05-08-2000 |
SELET date FROM Store_Info
UNION ALL
SELECT date FROM Sales 得出的结果:
date |
01-01-2000 |
02-01-2000 |
02-10-2000 |
03-08-2000 |
02-01-2000 |
03-08-2000 |
04-08-2000 |
05-08-2000 |
INTERSECT 指令是将即在表一中又再表二中的数据查找出来。再使用INTERSECT 时,也是要注意两个SQL语句所查询的结果应该是同一类的表中参数名,且数据格式也要是一样的。如:
SELET date FROM Store_Info
INTERSECT
SELECT date FROM Sales 得出的结果:
date |
02-01-2000 |
03-08-2000 |
MINUS(A-(A∩B)) 指令是运用在两个SQL语句上。 查出仅在表一中存在的数据,且相同的数据只会出现一次。如:
SELET date FROM Store_Info
MINUS
SELECT date FROM Sales 得出的结果:
date |
01-01-2000 |
02-10-2000 |