求DB2 delete sql 语句

whoami1618 2011-09-13 11:56:20
CREATE
TABLE X
(
A VARCHAR(10) NOT NULL,
B INTEGER NOT NULL,
CONSTRAINT CC1315882009531 PRIMARY KEY (A, B)
);

CREATE
TABLE Y
(
A VARCHAR(10) NOT NULL,
B INTEGER NOT NULL,
CONSTRAINT CC1315882056921 PRIMARY KEY (A, B)
);

TABLE X
A B
--------------
10 1
10 2
20 1
20 2
30 1
30 2
30 3
30 4
40 3
40 4

TABLE Y
A B
--------------
10 1
10 2
10 3
10 4
20 1
20 2
20 3
20 4

求一条SQL,将Y表中与X表重复的数据删除,即从Y表删除下列查询结果的数据:
SELECT x.a,x.b FROM x,y where x.a=y.a and x.b=y.b
10 1
10 2
20 1
20 2

...全文
582 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaojianmi1 2011-09-13
  • 打赏
  • 举报
回复
delete from Y where exists (
select * from X where X.A = Y.A and X.B = Y.B
)
whoami1618 2011-09-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wwwwb 的回复:]
试试
delete from
(select y.* from y left join x on X.A = Y.A and X.B = Y.B where x.a is not null) t
[/Quote]
运行不通过呀,谢谢
whoami1618 2011-09-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zhaojianmi1 的回复:]
SQL code
delete from Y where exists (
select * from X where X.A = Y.A and X.B = Y.B
)
[/Quote]
不知效率怎样
wwwwb 2011-09-13
  • 打赏
  • 举报
回复
试试
delete from
(select y.* from y left join x on X.A = Y.A and X.B = Y.B where x.a is not null) t

5,891

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧