sqlserver 比较两个表的列

 更新时间:2009年07月01日 22:27:51   作者:  
sqlserver 比较两个表的列的实现代码。

一、问题
给了两个各有四五十个列的表,找出他们相同的列和不同的列

二、查询两个表的列,存在临时表

--#a ,#b都是临时表,当前连接断开后自动删除
--RANK() OVER (ORDER BY syscolumns.name DESC) AS 是SQL2005支持的,在每行记录前加上自增序号
--IDENTITY(INT,1,1) 函数必须要和into联合使用

1、将表的列存入#a--'destTbl'比较的表名

select *  into #a from (select  RANK() OVER (ORDER BY syscolumns.name DESC) AS 序号,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  序号= 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

三、分析比较各个表列的异同

用下列语句,或者稍作改动比较
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

相关文章

  • SQL Server中NULL的正确使用与空间占用

    SQL Server中NULL的正确使用与空间占用

    这篇文章主要介绍了SQL Server中NULL的正确使用与空间占用的相关资料,需要的朋友可以参考下
    2016-02-02
  • 如何得到数据库中所有表名 表字段及字段中文描述

    如何得到数据库中所有表名 表字段及字段中文描述

    最近做一个项目,客户希望可以自己选择想要查看的列表,这样就不好办了,选择列表的名字他们也想自定义,没办法这就需要查看数据表中字段,中文说明,默认标志了
    2011-12-12
  • sql数据库不能直接用instr函数

    sql数据库不能直接用instr函数

    sql数据库不能直接用instr函数...
    2007-01-01
  • SQL注入语义分析库libinjection简介

    SQL注入语义分析库libinjection简介

    libinjection是一款用于防御SQL注入攻击的开源软件库,它可以通过对不同语句进行词法分析和语法分析来实现对SQL语句以及HTML语句的解析,这篇文章主要介绍了SQL注入语义分析库libinjection,需要的朋友可以参考下
    2023-03-03
  • SQL Server中聚合函数的用法

    SQL Server中聚合函数的用法

    本文详细讲解了SQL Server中聚合函数的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • MSSQL 首字母替换成大写字母

    MSSQL 首字母替换成大写字母

    MSSQL將首字母替換成大寫的实现语句,需要的朋友可以参考下。
    2009-09-09
  • mybatis动态sql实现逻辑代码详解

    mybatis动态sql实现逻辑代码详解

    mybatis通过将sql配置xml文件中,通过解析xml动态标签来实现动态sql,本文以xml文件为例给大家介绍mybatis动态sql的实现代码,感兴趣的朋友一起看看吧
    2021-08-08
  • SQLServer 清理日志的实现

    SQLServer 清理日志的实现

    本文主要介绍了SQLServer 清理日志的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 关系型数据库与非关系型数据库简介

    关系型数据库与非关系型数据库简介

    数据库有很多种类型,本文对常用的各大关系型数据库(例如:Oracol、SQLSer、mysql等)和非关系型数据库(例如:MongoDB、Cassandra、Hadoop HBase等)的优势和缺点做了详细的分类分析介绍说明
    2021-08-08
  • having的用法以及与where区别介绍

    having的用法以及与where区别介绍

    having子句可以让我们筛选成组后的各种数据,having子句在查询过程中慢于聚合语句,接下来通过实例介绍下,感兴趣的你可以参考下,希望可以帮助到你
    2013-03-03

最新评论