mssql 兩表合并sql語(yǔ)句
一、問(wèn)題
學(xué)生表: 課程表:
id 姓名 課程號(hào)(外鍵) 課程號(hào),課程名
'1', 'xix', 1 1,' 語(yǔ)文'
'2', 'cic', 2 2, '數(shù)學(xué)'
'3', 'ddi', 4 3, '英語(yǔ)'
將學(xué)生表、課程表合成一個(gè)新表 destTb:
id 姓名 課程號(hào) 課程名
1 xix 1 語(yǔ)文
2 cic 2 數(shù)學(xué)
3 ddi NULL NULL
NULL NULL 3 英語(yǔ)
二、建立測(cè)試數(shù)據(jù)
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,'語(yǔ)文'
UNION ALL SELECT 2,'數(shù)學(xué)'
UNION ALL SELECT 3,'英語(yǔ)'
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
三、合并插入
--目標(biāo)表destTb不存在 ,結(jié)果集作為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
--如果目標(biāo)表destTb已經(jīng)存在
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
相關(guān)文章
SQL Server 數(shù)據(jù)庫(kù)管理常用的SQL和T-SQL語(yǔ)句
SQL Server 數(shù)據(jù)庫(kù)管理常用的SQL和T-SQL語(yǔ)句...2006-08-08
sqlserver 樹(shù)形結(jié)構(gòu)查詢單表實(shí)例代碼
這篇文章主要介紹了 sqlserver 樹(shù)形結(jié)構(gòu)查詢單表的實(shí)例代碼,需要的朋友可以參考下2017-08-08
Sql學(xué)習(xí)第三天——SQL 關(guān)于with ties介紹
with ties一般是和Top , order by相結(jié)合使用的,會(huì)查詢出最后一條數(shù)據(jù)額外的返回值,接下來(lái)將為大家詳細(xì)介紹下,感興趣的各位可以參考下哈2013-03-03
透明數(shù)據(jù)加密(TDE)庫(kù)的備份和還原
對(duì)于包含敏感數(shù)據(jù)的庫(kù),要實(shí)現(xiàn)備份加密。即備份文件別人拿到也不能還原和查看其中的數(shù)據(jù)2012-07-07

