4个回答
2013-06-25
展开全部
-- 测试表,与测试数据
CREATE TABLE union_tab_1 (
id INT,
val VARCHAR(10)
);
CREATE TABLE union_tab_2 (
id INT,
val VARCHAR(10)
);
INSERT INTO union_tab_1 VALUES(1, 'A');
INSERT INTO union_tab_1 VALUES(2, 'B');
INSERT INTO union_tab_1 VALUES(3, 'C');
INSERT INTO union_tab_2 VALUES(1, 'A');
INSERT INTO union_tab_2 VALUES(1, 'A');
INSERT INTO union_tab_2 VALUES(2, 'B');
INSERT INTO union_tab_2 VALUES(4, 'D');
UNION-合并且去除重复记录
SQL> SELECT * FROM union_tab_1
2 UNION
3 SELECT * FROM union_tab_2;
ID VAL
---------- --------------------
1 A
2 B
3 C
4 D
UNION ALL-合并且不去除重复记录
SQL> SELECT * FROM union_tab_1
2 UNION ALL
3 SELECT * FROM union_tab_2;
ID VAL
---------- --------------------
1 A
2 B
3 C
1 A
1 A
2 B
4 D
7 rows selected.
INTERSECT – 仅仅给出2个表都有的数据(去除重复记录)
SQL> SELECT * FROM union_tab_1
2 INTERSECT
3 SELECT * FROM union_tab_2;
ID VAL
---------- --------------------
1 A
2 B
MINUS – 返回第一个表中有、第二个表中没有的数据
SQL> SELECT * FROM union_tab_1
2 MINUS
3 SELECT * FROM union_tab_2;
ID VAL
---------- --------------------
3 C
SQL> SELECT * FROM union_tab_2
2 MINUS
3 SELECT * FROM union_tab_1;
ID VAL
---------- --------------------
4 D
至于那个填空题
表示交集的关键字 ()
这个 “交集”, 应该意思就是 2个表都有的。
那么也就是
INTERSECT
展开全部
交集intersect
并集union
差集minus
并集union
差集minus
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
并集是union
差积是minus
差积是minus
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
填空的话可以用INTERSECT,也可以不用这个关键字查询
a表中有c字段, b表中也有c字段, 找出a,b表的交集c ---- select *from a where c in (select c from b);
a表中有c字段, b表中也有c字段, 找出a,b表的交集c ---- select *from a where c in (select c from b);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询