下面小编为大家带来用一句sql语句更新两个表并可更新对应的字段的值(共含5篇),希望能帮助大家!同时,但愿您也能像本文投稿人“一杯番茄汁”一样,积极向本站投稿分享好文章。
ACCESS
例子:
insert into products (ProNumber,CASNumber,Cnname,Price,Enname,Baozhuang,Pinpai) select ProNumber,CASNumber,Cnname,Price,Enname,Baozhuang,Pinpai from product22
1.用一句sql从一个表里面取出数据导入另外一个表里面,这个对不同程序之间的数据转换很有用处,而且速度快,数据完整:
insert into table1 (column1,column2,...) select column1,column2,... from table2
(其中table1的各个字段要跟table2的相对应,主要是数据类型,而且字段的个数必须相等)
2.用一句sql从一个表里面取出数据来更新另外一个表里面对应的值:
update table1,table2 set table1.column1=table2.column1 where table1.column2=table2.column2
跟上一个一样,得对应,
同时可以扩展至多个表之间对应的值的更新。
3.比较两个表里面某对应字段的值:
select * from table1 where ID not in(select ID from table2)
假设a,b两表有外键关联,想要从b表中取出相应字段的值更新a表
字段,可以有如下几种写法:
1、update a set a.name=b.name from a,b where a.id=b.id2、update a inner join b on a.id=b.id set a.name=b.name where ...3、update table1 set a.name = b.name from table1 a inner join table2 b on a.id =b.id where...
-02-02在SQL Server数据库中为标识(IDENTITY)列插入显式值
-07-07SQLServer导出数据到MySQL实例介绍
-05-05sqlserver 错误602,未能在sysindexes中找到数据库 的解决办法
-11-11SQL 存储过程基础语法之一
-11-11SQL Server 数据库实用SQL语句
-01-01参考sql2012存储过程写的统计所有用户表尺寸大小的示例
2013-09-09一个删选数据的例子,使用GROUP、DISTINCT实例解析
2009-04-04mssql 指定字段编号sql语句
2007-03-03SQL中object_id函数的用法
2010-06-06在SQLServer上查看SQL语句的执行时间的方法
SQL Server 不存在或访问被拒绝(转)
SQL Server连接失败错误及解决
uniqueidentifier转换成varchar数据类型的
诊断SQLSERVER问题常用的日志概述及使用
Linq to SQL 插入数据时的一个问题
SQL对时间处理的语句小结
通过T-SQL语句实现数据库备份与还原的代码
SQL 中having 和where的区别分析
SQL Server中通过reverse取某个最后一次出
sqlserver 临时表 Vs 表变量 详细介绍
SQL Server 图文安装教程
SQL Server 2012 安装图解教程(附
sqlserver中distinct的用法(不重
SQL Server导入、导出、备份数据
SQL语句去掉重复记录,获取重复记
SQL Server数据库入门学习总结
SQL Server错误代码大全及解释(
sql convert函数使用小结
sql 时间函数 整理的比较全了
用SQL语句添加删除修改字段、一些
这篇文章主要介绍了只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名,需要的朋友可以参考下
昨天去面试时遇到一个这样的问题:
有一张成绩表,只有两个字段,姓名和成绩,怎样用一个sql语句查询出某个学生的姓名,成绩以及在表中的排名?
一时间我也想不出具体实现,我就提了两种思路:一种是通过join关联一个查询出他排名的sql语句;一种是通过group by来实现。
回答得连自己都觉得有点心虚。请问大家如何实现呢?
假设:表名字为Course,两个字段分别为name和score
实现语句:
SELECT 学生,成绩, (SELECT COUNT(*) FROM 表 WHERE a.成绩<=成绩) AS 排名 FROM 表 AS a
方法二:
declare @Course table(name varchar(100),cj int) insert into @Course select ‘a‘,99 union all select ‘b‘,66 union all select ‘c‘,88 select * from ( select (select 1+count(name) from @Course where cj>t.cj) mc,name,cj from @Course t ) tem where name=‘b‘
如果有成绩相同的记录的时候,goodspeed的语句确实有一些瑕疵,但是我根据他的语句稍微修改了一下就很完美了,
SELECT name,score, (SELECT COUNT(*)+1 FROM course WHERE a.score 更多请到这里查看评论