怎样用sql语句实现,如下的表中插入功能
table1
姓名 年级 专业 体重 身高 序号
刘德华 2 数控 65 175 1
周杰伦 1 音乐 55 172 2
刘涛 1 表演 46 165 3
王心玲 2 音乐 45 160 4
table2
姓名 年级 专业 体重 身高 序号
刘德华 2 数控 65 175 1
周杰伦 3 广告涉及 55 172 2
盖茨 4 计算机 56 180 3
----------------------
其中姓名和年级为合成主键,怎样用sql 实现在table1 中插入 table2的记录,得到如下结果,只插入table1中不重复的记录
table1
姓名 年级 专业 体重 身高 序号
刘德华 2 数控 65 175 1
周杰伦 1 音乐 55 172 2
周杰伦 3 广告涉及 55 172 2
刘涛 1 表演 46 165 3
王心玲 2 音乐 45 160 4
盖茨 4 计算机 56 180 3
------解决方案--------------------
不一致的结果集合:
INSERT INTO table1 (
select src.* from table2 src where (src.姓名 + src.年级) not in (select dest.姓名 + dest.年级 from table1 dest)
)
语法上可能有错误,自己调整。
------解决方案--------------------
SQL code
INSERT INTO table1
(
select 姓名 , 年级 , 专业 , 体重 , 身高 ,序号
from Table2
except
select 姓名 , 年级 , 专业 , 体重 , 身高 , 序号
from Table1
)