复杂一些的SQL语句
表连接查询得到结果集后添加数据
INSERT INTO #saleSplitProduct(saleorderID,ProductCode,ProductNum,ProductPrice,
productMaterialKind,periodTypeID,baseProduceProductTypeID )
SELECT t.saleOrderID,sop.productCode,sop.productNum,sop.productPrice,'',periodTypeID
, isnull(t.baseProduceProductTypeID,6)
FROM #tempSale t
INNER JOIN saleOrderDzProduct sop ON sop.saleOrderID = t.saleOrderID
表查询多个结果,这种方式同样适用于update于Delete
select * from Table1 where id in(1,2,3)
关于update_set_from_where
下面这样的一个例子:
UPDATE psto SET productMaterialKind=sop.productMaterialKind
FROM #tempSale t
JOIN dbo.produceSaleTaskOrderDetail AS pstod ON t.saleOrderID=pstod.saleOrderID
JOIN dbo.produceSaleTaskOrder AS psto ON pstod.taskorderID = psto.taskOrderID
JOIN dbo.saleOrder AS so ON t.saleOrderID=so.saleOrderID
JOIN dbo.saleOrderDzProduct AS sop ON pstod.saleOrderID=sop.saleOrderID
update set from 语句格式
当where和set都需要关联一个表进行查询时,整个 update执行时,就需要对被关联的表进行两次扫描,显然效率比较低。
对于这种情况,Sybase和SQL SERVER的解决办法是使用UPDATE...SET...FROM...WHERE...的语法,实际上就是从源表获取更新数据。
在 SQL 中,表连接(left join、right join、inner join 等)常常用于 select 语句,其实在 SQL 语法中,这些连接也是可以用于update 和 delete 语句的,在这些语句中使用 join 还常常得到事半功倍的效果。
Update T_OrderForm SET T_OrderForm.SellerID =B.L_TUserID
FROM T_OrderForm A LEFT JOIN T_ProductInfo B ON B.L_ID=A.ProductID
用来同步两个表的数据!
复杂一些的SQL语句的更多相关文章
- mysql学习之 sql语句的技巧及优化
一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...
- 一条Sql语句分组排序并且限制显示的数据条数
如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...
- LINQ to SQL语句(7)之Exists/In/Any/All/Contains
适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...
- Oracle ------ SQLDeveloper中SQL语句格式化快捷键
Oracle SQL Developer中SQL语句格式化快捷键: 每次sql复制到SQL Developer面板的时候,格式老不对,而且看起来很不舒服,所有的sql都挤在一行完成. 这时我们可以全选 ...
- SQL语句优化
(1) 选择最有效率的表名顺序 ( 只在基于规则的优化器中有效 ) : ORACLE 的解析器按照从右到左的顺序处理 FROM 子句中的表名, FROM 子句中写在最后的表 ( 基础表dri ...
- LinqToDB 源码分析——生成与执行SQL语句
生成SQL语句的功能可以算是LinqToDB框架的最后一步.从上一章中我们可以知道处理完表达式树之后,相关生成SQL信息会被保存在一个叫SelectQuery类的实例.有了这个实例我们就可以生成对应的 ...
- 年终巨献 史上最全 ——LINQ to SQL语句
LINQ to SQL语句(1)之Where 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操 ...
- LINQ to SQL语句(19)之ADO.NET与LINQ to SQL
它基于由 ADO.NET 提供程序模型提供的服务.因此,我们可以将 LINQ to SQL 代码与现有的 ADO.Net 应用程序混合在一起,将当前 ADO.NET 解决方案迁移到 LINQ to S ...
- LINQ to SQL语句(17)之对象加载
对象加载 延迟加载 在查询某对象时,实际上你只查询该对象.不会同时自动获取这个对象.这就是延迟加载. 例如,您可能需要查看客户数据和订单数据.你最初不一定需要检索与每个客户有关的所有订单数据.其优点是 ...
- LINQ to SQL语句(6)之Group By/Having
适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式: var q = from p in db.Products group ...
随机推荐
- UVa340(Master-Mind Hints)未完成
#include<stdio.h> int main() { int num,a[100],i,j,b[100]; while(scanf("%d",&num) ...
- yii处理cookie
/** * 设置用户cookie会话 */ public function setCookie() { //set loginName $cookies = Yii::app()->reques ...
- CSS text-transform 属性 控制控制文本的大小写
值 描述 none 默认.定义带有小写字母和大写字母的标准的文本. capitalize 文本中的每个单词以大写字母开头. uppercase 定义仅有大写字母. lowercase 定义无大写字母, ...
- 如何激活优动漫PAINT,获取优动漫PAINT序列号
优动漫PAINT也就是我们常说的clip studio paint(CSP)的中文版本,它是一款功能强大的漫画.插画绘制软件,所有动漫和漫画插件使用帮助你更加便捷的创作有质量的二次元素材,是各位喜欢动 ...
- Java什么时候用static,public,private,protected?
这么说吧,假如你是一个类: public表示你愿意其他人看见你的物品(字段.属性),或者你愿意帮别人做事(方法): private表示你不愿意其他任何人看见你的私人物品,也不愿意帮任何人做事: pro ...
- mac 安装卸载python
第 1 步,删除框架: sudo rm -rf /Library/Frameworks/Python.framework/Versions/x.x第 2步,删除应用目录: sudo rm -rf &q ...
- java中String和int的互相转化
1. String 转 int 方式1:Integer.parseInt(); 方式2: Integer.valueOf(myStr).intValue(); 2. int 转String 方式1: ...
- PostgreSQL 安装配置 (亲测可用)
转自:http://blog.csdn.net/jesseyoung/article/details/41348835 受作者博客限制,请访问上面的链接 ---------- 下面是另一个转载 --- ...
- OPENGL学习【一】VS2008开发OPENGL程序开发环境搭建
1.VS2008工具自行在网上下载安装,现只提供VS2008开发工具中配置OPENGL环境的详细步骤.开发包及编译工具会在下方一并放出链接. 2.打开CMake的工具,主要的配置信息如下,按照数字顺序 ...
- 指针FHQTreap
不太友好的代码 题面依旧是普通平衡树 //Writer : Hsz %WJMZBMR%tourist%hzwer #include <bits/stdc++.h> #define LL l ...