你真的会玩SQL吗?系列目录

你真的会玩SQL吗?之逻辑查询处理阶段

你真的会玩SQL吗?和平大使 内连接、外连接

你真的会玩SQL吗?三范式、数据完整性

你真的会玩SQL吗?查询指定节点及其所有父节点的方法

你真的会玩SQL吗?让人晕头转向的三值逻辑

你真的会玩SQL吗?EXISTS和IN之间的区别

你真的会玩SQL吗?无处不在的子查询

你真的会玩SQL吗?Case也疯狂

你真的会玩SQL吗?表表达式,排名函数

你真的会玩SQL吗?简单的 数据修改

你真的会玩SQL吗?你所不知道的 数据聚合

你真的会玩SQL吗?透视转换的艺术

你真的会玩SQL吗?冷落的Top和Apply

你真的会玩SQL吗?实用函数方法汇总

你真的会玩SQL吗?玩爆你的数据报表之存储过程编写(上)

你真的会玩SQL吗?玩爆你的数据报表之存储过程编写(下)

项目会有种需要将A表中的部分字段与B表中的部分字段联合查询后保存到C表,或更新到C表,那怎么实现呢?

  1. select into
  2. insert select
  3. delete from
  4. update from
  5. insert exec 语句可以把存储过程或动态批处理返回的结果保存到现有表中(这里暂时先不讲)

Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。

1.INSERT INTO SELECT语句

语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1

要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:

--1.创建测试表create TABLE Table1(a varchar(10),b varchar(10),c varchar(10),CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED(a ASC)) ON [PRIMARY]create TABLE Table2(a varchar(10),c varchar(10),d int,CONSTRAINT [PK_Table2] PRIMARY KEY CLUSTERED(a ASC)) ON [PRIMARY]GO--2.创建测试数据Insert into Table1 values('赵','asds','90')Insert into Table1 values('钱','asds','100')Insert into Table1 values('孙','asds','80')Insert into Table1 values('李','asds',null)GOselect * from Table2--3.INSERT INTO SELECT语句复制表数据Insert into Table2(a, c, d) select a,c,5 from Table1GO--4.显示更新后的结果select * from Table2GO--5.删除测试表drop TABLE Table1drop TABLE Table2

2.SELECT INTO FROM语句

语句形式为:SELECT vale1, value2 into #Table2 from Table1

要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到临时表Table2中。示例如下:

--1.创建测试表create TABLE Table1(a varchar(10),b varchar(10),c varchar(10),CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED(a ASC)) ON [PRIMARY]GO--2.创建测试数据Insert into Table1 values('赵','asds','90')Insert into Table1 values('钱','asds','100')Insert into Table1 values('孙','asds','80')Insert into Table1 values('李','asds',null)GO--3.SELECT INTO FROM语句创建表Table2并复制数据select a,c INTO #Table2 from Table1GO--4.显示更新后的结果select * from #Table2GO--5.删除测试表drop TABLE Table1drop TABLE #Table2

3.delete from

基于联接的delete,如想删除2008年5月6日以后下的订单明细

DELETE  FROM od
FROM    sales.orderdetails AS odJOIN sales.orders AS o ON od.orderid = o.orderid
WHERE   o.orderdate >= '20080506'

4.update from

基于联接的update,如想更新由usa客户所下单的发货信息,用customers表中客户的country,region,city改写shipcountry,shipregion,shipcity

UPDATE  o
SET     shipcountry = c.country ,shipregion = c.region ,shipcity = c.city
FROM    sales.orders AS oJOIN sales.customers AS c ON o.custid = c.custid
WHERE   c.country = 'usa'

今天内容很简单,就不做练习了,多看看文章……

转载于:https://www.cnblogs.com/zhangs1986/p/4915124.html

你真的会玩SQL吗?简单的数据修改相关推荐

  1. 你真的会玩SQL吗?EXISTS和IN之间的区别

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  2. 你真的会玩SQL吗?和平大使 内连接、外连接

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  3. 你真的会玩SQL吗?Case也疯狂

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  4. 你真的会玩SQL吗?玩爆你的数据报表之存储过程编写(上)

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  5. 你真的会玩SQL吗?你所不知道的 数据聚合

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  6. 你真的会玩SQL吗?玩爆你的数据报表之存储过程编写(下)

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  7. 你真的会玩SQL吗?透视转换的艺术

    透视转换是一种行列互转的技术,在转过程中可能执行聚合操作,应用非常广泛. 本章与 你真的会玩SQL吗?数据聚合 内容比较重要,还涉及到 你真的会玩SQL吗?Case的用法 的内容,都可以一起看. 下面 ...

  8. 你真的会玩SQL吗?Case的用法(转)

    今天来总结整理一下Case,因为SQL查询中用得最多的逻辑判断. Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' ...

  9. 你真的会玩SQL吗?内连接、外连接

    大多数人一般写多表查询会这样写select * from tbA ,tbB  没有用到JOIN关键字,太Low了,官网标准建议是用JOIN明确表间的关系,下面具体来讲. 连接类型: 交叉联接 得到所连 ...

最新文章

  1. 卧槽!Python学习神器!!!
  2. Java接口的几种常见用法
  3. c语言goord函数,park、unpark、ord 函数使用方法(转)
  4. println()函数输出int类型返回值错误的问题
  5. 【解决有些jar包依赖就是下载不下来】
  6. 【windows】win10录屏录屏内声音
  7. julia语言 python解释器_新一代科学计算语言Julia以及开发环境搭建教程
  8. 简单易用的运动控制卡(八):直线插补和手轮运动
  9. 码~ps基本概念知识
  10. 机器学习模型评价(Evaluating Machine Learning Models)-主要概念与陷阱
  11. yigo基础学习笔记2
  12. 信号包络及其提取方法(Matlab)
  13. Windows系统cmd命令+实用工具
  14. C语言中access函数
  15. Python 中的 defaultdict 数据类型
  16. 什么是你的核心竞争力之一?
  17. gc2000导出丝印和坐标_【干货】GC2000(GC-PowerStation)软件导出贴片坐标视频教程
  18. 判断极值_拐点的三个充要条件以及一个必要
  19. CoppeliaSim学习笔记之仿真环境与小车模型的搭建
  20. 计算机退出程序的四种方法,退出windows10系统账户的四种方法

热门文章

  1. 零基础学HTML5和CSS3前端开发第一课
  2. myabatis oracle 调用存储过程返回list结果集
  3. 基于OpenCV的图像阴影去除,你会吗?
  4. PostgreSQL递归查询
  5. 分布式系统中的一致性协议
  6. docker network基础
  7. filter 中用spring StopWatch 监控请求执行时间
  8. 设计算法时要确保分类讨论的完备性
  9. sh: react-scripts: command not found after running npm start
  10. 《Android游戏开发详解》一导读