时间:2021-05-24
一、问题
学生表: 课程表:
id 姓名 课程号(外键) 课程号,课程名
'1', 'xix', 1 1,' 语文'
'2', 'cic', 2 2, '数学'
'3', 'ddi', 4 3,'英语'
将学生表、课程表合成一个新表 destTb:
id 姓名 课程号 课程名
1 xix 1 语文
2 cic 2数学
3 ddi NULLNULL
NULLNULL3英语
二、建立测试数据
CREATE TABLE student(id nvarchar(10),name nvarchar(10),cno int)
INSERT student SELECT '1','xix',1
UNION ALL SELECT '2','cic',2
UNION ALL SELECT '3','ddi',4
GO
CREATE TABLE class(cno int,name nvarchar(10))
INSERT class SELECT 1,'语文'
UNION ALL SELECT 2,'数学'
UNION ALL SELECT 3,'英语'
GO
select id ,s.name as 姓名,c.cno as cno,c.name as 课程 FROM student as s FULL OUTER JOIN class as c ON s.cno=c.cno
三、合并插入
--目标表destTb不存在 ,结果集作为tmp
select * into destTb from (select id ,s.name as 姓名,c.cno as cno,c.name as 课程 FROM student as s FULL OUTER JOIN class as c ON s.cno=c.cno) as tmp
--如果目标表destTb已经存在
insert into destTb select id ,s.name as 姓名,c.cno as cno,c.name as 课程 FROM student as s FULL OUTER JOIN class as c ON s.cno=c.cno
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
摘要1,EXEC的使用2,sp_executesql的使用MSSQL为我们提供了两种动态执行SQL语句的命令,分别是EXEC和sp_executesql;通常,
MSSQL2005常用的数据库操作SQL语句:批量替换标题或描述里的字符串update表名set要替换的字段=replace(要替换的字段,'要替换的字
案例描述在定时脚本运行过程中,发现当备份表格的sql语句与删除该表部分数据的sql语句同时运行时,mysql会检测出死锁,并打印出日志。两个sql语句如下:(1
1.格式化时间sql语句 本例中本人随便做了两张表,和实际不是很相符,只是想说明sql语句的写法。 例1表格式如下: 需求:查询出本表,但需要使time字
下面我建两个表,并执行一系列sql语句,仔细观察sql执行后表中数据的变化,很容易就能理解多表联合更新的用法student表class表1.执行UPDATEst