程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> mssql 兩表歸並sql語句

mssql 兩表歸並sql語句

編輯:MSSQL

mssql 兩表歸並sql語句。本站提示廣大學習愛好者:(mssql 兩表歸並sql語句)文章只能為提供參考,不一定能成為您想要的結果。以下是mssql 兩表歸並sql語句正文


1、成績

先生表:                                               課程表:

 id   姓名 課程號(外鍵)                        課程號,課程名

 '1', 'xix',  1                                              1,' 語文'
 '2', 'cic',  2                                               2, '數學'
 '3', 'ddi', 4                                               3,  '英語'

將先生表、課程表分解一個新表  destTb:

id  姓名  課程號 課程名

1   xix    1    語文
2   cic    2     數學
3   ddi  NULL NULL
NULL NULL 3 英語

2、樹立測試數據

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

3、歸並拔出

--目的表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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved