sqlserver 比較兩個(gè)表的列
一、問(wèn)題
給了兩個(gè)各有四五十個(gè)列的表,找出他們相同的列和不同的列
二、查詢兩個(gè)表的列,存在臨時(shí)表
--#a ,#b都是臨時(shí)表,當(dāng)前連接斷開(kāi)后自動(dòng)刪除
--RANK() OVER (ORDER BY syscolumns.name DESC) AS 是SQL2005支持的,在每行記錄前加上自增序號(hào)
--IDENTITY(INT,1,1) 函數(shù)必須要和into聯(lián)合使用
1、將表的列存入#a--'destTbl'比較的表名
select * into #a from (select RANK() OVER (ORDER BY syscolumns.name DESC) AS 序號(hào),syscolumns.name
from syscolumns,sysobjects
where syscolumns.[id]=sysobjects.[id]
and sysobjects.[name]='destTbl') as t
select * from #a
1 姓名
2 課程
3 id
4 cno
2、將表的列存入#b--'student'比較的表名
select 序號(hào)= IDENTITY(INT,1,1),syscolumns.name
into #b from syscolumns,sysobjects
where syscolumns.[id]=sysobjects.[id]
and sysobjects.[name]='student'
select * from #b
1 id
2 name
3 cno
三、分析比較各個(gè)表列的異同
用下列語(yǔ)句,或者稍作改動(dòng)比較
select * from #b where name in (select name from #a)
select * from #a where name not in (select name from #b)
select * from #a a, #b b where a.name=b.name
select * from #a a left join #b b on a.name=b.name
相關(guān)文章
如何得到數(shù)據(jù)庫(kù)中所有表名 表字段及字段中文描述
最近做一個(gè)項(xiàng)目,客戶希望可以自己選擇想要查看的列表,這樣就不好辦了,選擇列表的名字他們也想自定義,沒(méi)辦法這就需要查看數(shù)據(jù)表中字段,中文說(shuō)明,默認(rèn)標(biāo)志了2011-12-12sql數(shù)據(jù)庫(kù)不能直接用instr函數(shù)
sql數(shù)據(jù)庫(kù)不能直接用instr函數(shù)...2007-01-01SQL注入語(yǔ)義分析庫(kù)libinjection簡(jiǎn)介
libinjection是一款用于防御SQL注入攻擊的開(kāi)源軟件庫(kù),它可以通過(guò)對(duì)不同語(yǔ)句進(jìn)行詞法分析和語(yǔ)法分析來(lái)實(shí)現(xiàn)對(duì)SQL語(yǔ)句以及HTML語(yǔ)句的解析,這篇文章主要介紹了SQL注入語(yǔ)義分析庫(kù)libinjection,需要的朋友可以參考下2023-03-03mybatis動(dòng)態(tài)sql實(shí)現(xiàn)邏輯代碼詳解
mybatis通過(guò)將sql配置xml文件中,通過(guò)解析xml動(dòng)態(tài)標(biāo)簽來(lái)實(shí)現(xiàn)動(dòng)態(tài)sql,本文以xml文件為例給大家介紹mybatis動(dòng)態(tài)sql的實(shí)現(xiàn)代碼,感興趣的朋友一起看看吧2021-08-08關(guān)系型數(shù)據(jù)庫(kù)與非關(guān)系型數(shù)據(jù)庫(kù)簡(jiǎn)介
數(shù)據(jù)庫(kù)有很多種類型,本文對(duì)常用的各大關(guān)系型數(shù)據(jù)庫(kù)(例如:Oracol、SQLSer、mysql等)和非關(guān)系型數(shù)據(jù)庫(kù)(例如:MongoDB、Cassandra、Hadoop HBase等)的優(yōu)勢(shì)和缺點(diǎn)做了詳細(xì)的分類分析介紹說(shuō)明2021-08-08