有员工表A,字段为员工编号,员工姓名
有员工表B,字段和表A一致
实现:
将表B中存在,A中不存在记录插入A表,
更新表A与表B中员工编号一致,员工姓名不一致的记录
删除表A中存在,表B中不存在的记录,
有员工表B,字段和表A一致
实现:
将表B中存在,A中不存在记录插入A表,
更新表A与表B中员工编号一致,员工姓名不一致的记录
删除表A中存在,表B中不存在的记录,
解决方案 »
- SQL里面用case when的问题。。。。
- 求一句SQL语句
- 【基础问题】求一条简单的sql语句
- 一个非常简单的问题
- sql2005+windows2003出现用户已满怎么解决
- MSSQL库中有表A,A中有用户名address字段,我想将这个字段中所有含‘北京’的替换成'上海',怎么作??在线等
- 在看数据库入门教程有几点不明白,请教大家了!感谢了!
- 咨询一下大家,关于我设计的C/S结构数据库
- 请问MySQL和Interbase两者比较哪个更好?
- 求助!!!!升级后远程erp的出现问题登录后可以使用但是不操作等10来分钟后再用就连接失败要重新登录。
- 】关于JAVA_JDBC的,求大神赐教!
- 一个简单的SQL查询语句
select * from B where not exists(select 1 from A where 员工编号=B.员工编号)update a set a.员工姓名=b.员工姓名
from A a,B b where a.员工编号=b.员工编号delete A from A where not exists(select 1 from B where 员工编号=A.员工编号)
CREATE TABLE EMPA
(
ID INT PRIMARY KEY NOT NULL,
EMP_NAME VARCHAR(20)
);
CREATE TABLE EMPB
(
ID INT PRIMARY KEY NOT NULL,
EMP_NAME VARCHAR(20)
)
INSERT INTO EMPA VALUES(1,'A');
INSERT INTO EMPA VALUES(2,'B');
INSERT INTO EMPA VALUES(3,'C');
INSERT INTO EMPA VALUES(4,'E');
INSERT INTO EMPA VALUES(5,'F');INSERT INTO EMPB VALUES(3,'E');
INSERT INTO EMPB VALUES(4,'F');
INSERT INTO EMPB VALUES(5,'G');SELECT * FROM EMPA;
SELECT * FROM EMPB;MERGE EMPA AS TARGET
USING (SELECT * FROM EMPB) AS SOURCE
ON (TARGET.ID = SOURCE.ID)
WHEN MATCHED
THEN UPDATE SET TARGET.EMP_NAME = SOURCE.EMP_NAME
WHEN NOT MATCHED BY TARGET
THEN
INSERT (ID,EMP_NAME) VALUES(SOURCE.ID,SOURCE.EMP_NAME)
WHEN NOT MATCHED BY SOURCE
THEN DELETE ;SELECT * FROM EMPA;
SELECT * FROM EMPB;
1 A
2 B
3 C
4 E
5 Fid emp_name
3 E
4 F
5 GIs this your result?
from A,B
where A.员工编号=B.员工编号delete from a
where A.员工编号 NOT IN (select 员工编号 from b)