merge集插入,更新,删除于一体,如果要对一个表同时进行插入,更新,删除2个或3三个操作.效率要高于单个操作. merge into tableb b --被操作表using (select id,servicepromotor,servicecmclient from tablea where servicepromotor>0) a--参照表 支持子查询on a.id=b.client --关联关系when matched --a,b表均匹配到做updatethen update set
1.并集(UNION/UNION ALL) Oracle&SQLServer中用法一致 UNION 去重 UNION ALL 不去重 -- 去重 select * from tablea union select * from tableb -- 不去重 select * from tablea union all select * from tableb 2.交集(INTERSECT/EXISTS) Oracle&SQLServer中用法一致 INTERSECT 去重 EXISTS 不去
知识关键词:DATE_FORMAT select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_case group by weeks; select DATE_FORMAT(create_time,'%Y%m%d') days,count(caseid) count from tc_case group by days; select DATE_FORMAT(create_time,'%Y%m') month
自己做过MySQL按天,按周,按月,按时间段统计,但是不怎么满意,后来找到这位大神的博客,转载一下,谢谢这位博主的分享 知识点:DATE_FORMAT 使用示例 select DATE_FORMAT(create_time,'%Y%m%d') days,count(caseid) count from tc_case group by days; select DATE_FORMAT(create_time,'%Y%u') weeks,count(caseid) count from tc_ca
一.exists 1.1 说明 EXISTS(包括 NOT EXISTS)子句的返回值是一个BOOL值.EXISTS内部有一个子查询语句(SELECT ... FROM...),我将其称为EXIST的内查询语句.其内查询语句返回一个结果集.EXISTS子句根据其内查询语句的结果集空或者非空,返回一个布尔值.Link exists:强调的是是否返回结果集,不要求知道返回什么,比如:select name from student where sex = 'm' and mark exists(se
摘要: 下文讲述sqlserver中,更新脚本中常用if exists关键字的用法说明,如下所示: 实验环境:sql server 2008 R2 一.检测数据库是否存在于当前数据库引擎下 if exists (select * from sys.databases where name = ’数据库名称’) begin print '数据库名称--存在' end 二.检测数据表是否存在于指定数据库下 ) begin print '数据表名称---存在' end 三.检测存储过程是否存在的方法
摘要:下文通过举例的方式,详细说明"for xml EXPLICIT"关键字的用法,如下所示:实验环境:sql server 2008 R2 EXPLICIT的功能:将数据表采用特定的形式返回xml数据. create table test (keyId int identity, sort ), info ) ) insert into test(sort,info) values('衣服','A号'), ('衣服','B号'),('衣服','C号'), ('鞋子','D'),('鞋