DML_Modifying Data Through Table Expressions_UPDATE
DML_Modifying Data Through Table Expressions_UPDATE
之前也学习过使用CTE,再来泛泛的学习下,
最后将会将一些书籍上或学习到的CTE来个小结
/*
Microsoft SQL Server 2008 T-SQL Fundamentals_CN
Microsoft SQL Server 2008 T-SQL Fundamentals
*/ --以Northwind库下的Customers表为例,说明CTE的用法
SELECT *
FROM Customers
------------------------------------------------------------------------------------------
--它的内部查询返回所有来自 USA 的客户,外部查询则选择了CTE中的所有行
--与派生表一样,一旦外部查询完成,CTE的声明期也就结束了 (将会专开一篇学习Derived Table) WITH <CTE_Name>[(<target_column_list>)]
AS
(
<inner_query_defining_CTE>
)
<outer_query_against_CTE> WITH USACusts AS
(
SELECT CustomerID,CompanyName
FROM Customers
WHERE Country = N'USA'
)
SELECT * FROM USACusts;
---------------------
--根据语法增加了WITH 后面表的字段
WITH USACusts(CustomerID,CompanyName,Country) AS
(
SELECT CustomerID,CompanyName, Country
FROM Customers
WHERE Country = N'USA'
)
SELECT * FROM USACusts;
------------------------------------------------------------------------------------------
--使用CTE(Common Table Expressions) --下面是上次DML_Data Modification_UPDATE中带有联接的更新语句
UPDATE OD
SET discount = discount + 0.03
FROM dbo.[Order Details] AS OD
JOIN dbo.Orders AS O
ON OD.OrderID = O.OrderID
WHERE CustomerID = 'TOMSP';
----------------
SELECT * FROM [Order Details]
SELECT * FROM Orders
----------------
--上面是带有联接的更新语句,将它改变...
--不记得字段内容了,可用上面2句查询一下
SELECT CustomerID,
OD.OrderID,
productid,
discount,
discount+0.05 AS newdiscount
--SET discount = discount + 0.03
FROM dbo.[Order Details] AS OD
JOIN dbo.Orders AS O
ON OD.OrderID = O.OrderID
WHERE CustomerID = 'TOMSP';
----------------
--继续改编,将上面的语句用 WITH包含起来(使用CTE的例子),然后再 UPDATE
--SQL Server 2005以后的版本支持CTE(没测试过,本环境为MSSQL2014)
WITH C AS
(
SELECT CustomerID,
OD.OrderID,
productid,
discount,
discount+0.05 AS newdiscount
--SET discount = discount + 0.03
FROM dbo.[Order Details] AS OD
JOIN dbo.Orders AS O
ON OD.OrderID = O.OrderID
WHERE CustomerID = 'TOMSP'
)
UPDATE C SET discount = newdiscount;
------------------------------------------------------------------------------------------
--使用派生表的例子( Derived Table)
--SQL Server 2005以前的版本支持派生表(没测试过,本环境为MSSQL2014)
--Northwind库
UPDATE D
SET discount = newdiscount
FROM (
DML_Modifying Data Through Table Expressions_UPDATE的更多相关文章
- -- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.
[root@DB ~]# mysqldump -uroot -p123 --flush-logs --all-databases >fullbackup_sunday_11_PM.sql -- ...
- Table View Programming Guide for iOS---(四)---Navigating a Data Hierarchy with Table Views
Navigating a Data Hierarchy with Table Views 导航数据表视图层次 A common use of table views—and one to which ...
- React中使用Ant Table组件
一.Ant Design of React http://ant.design/docs/react/introduce 二.建立webpack工程 webpack+react demo下载 项目的启 ...
- react引用ant的table组件
import React from 'react';import '../../css/uicss/UI.css';import 'antd/lib/style/index.less';import ...
- 关于页面中table中相同的列自动合并
代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- 自我反思--table的简单数据分页
自我反思 几天没有写工作总结了,整个人都变得懒散了.公司的工作也确实是不紧张,对于我这种自制力不强的人简直是...(想不到词了),完全放了风了... 每天逛逛淘宝,买些乱七八糟其实并没有什么用 ...
- 【HTML】Beginner8:Table
1.Table Abused to lay out pages The correct use for tables is to do exactly what you would ex ...
- Hive - 建表和加载数据指令小结 以及使用Load data指令的注意事项
类似Mysql的数据库概念: hive> CREATE DATABASE cui; hive> USE cui; 创建表: CREATE TABLE test( first STRING, ...
- Data Types
原地址: Home / Database / Oracle Database Online Documentation 11g Release 2 (11.2) / Database Administ ...
随机推荐
- poj3249 拓扑找最长路
Test for Job Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 11230 Accepted: 2651 Des ...
- 100道MySQL数据库经典面试题解析(收藏版)
前言 100道MySQL数据库经典面试题解析,已经上传github啦 https://github.com/whx123/JavaHome/tree/master/Java面试题集结号 公众号:捡田螺 ...
- vue中template的三种写法
第一种(使用模板字符串)早期字符串拼接年代 <div id="app"></div> new Vue({ el: "#app", tem ...
- Flutter 使用Navigator进行局部跳转页面
老孟导读:Navigator组件使用的频率不是很高,但在一些场景下非常适用,比如局部表单多页填写.底部导航一直存在,每个tab各自导航场景. Navigator 是管理路由的控件,通常情况下直接使用N ...
- vue中 transition组件使用总结
博客园比较啃爹啊,随笔只能手写,之前写在有道云笔记里面的内容也复制不了,忧伤..... 长话短说,看官方的transition 的讲解,可能是内容太多了,或者就是本人太辣鸡了,看的有点懵逼,但是项目中 ...
- (一)DAO设计及BaseDAO和BookDAO的实现
1.总体架构 MVC 设计模式:Model:POJO(Plain Old Java Object) Controller:ServletView:JSP + EL + JSTL 2.技术选型 数据库: ...
- 解决google play上架App设置隐私政策声明问题
在我们的app上架到google play后,为了赚点小钱,就集成google ads,然而这会引发一个新的问题,那就是设置隐私政策声明的问题,通常我们会收到一封来自google play的邮件,提示 ...
- vue 中引入使用jquery
1.首先在配置文件中添加 cnpm install 下载jquery文件 2.在webpack配置文件中添加下面代码 3.接着在webpack.base.conf.js中module.exports ...
- Ftrace的部分使用方法
ftrace主要是用于调试linux kernel调度相关的一个工具,也可用于分析部分kernel性能问题. 相关ftrace的介绍可以参考:kernel/msm-4.9/Documentation/ ...
- DDD之3实体和值对象
图中是一个别墅的模型,代表实体,可以真实的看得到.那么在DDD设计方法论中,实体和值对象是什么呢? 背景 实体和值对象是领域模型中的领域对象,是组成领域模型的基础单元,一起实现实体最基本的核心领域逻辑 ...