网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > 数据库 > 正文

简单但实用的SQL脚本

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

把多行SQL数据变成一条多列数据,即新增列

  1. Select 
  2. DeptName=O.OUName, 
  3. '9G'=Sum(Case When PersonalGrade=9 Then 1 Else 0 End), 
  4. '8G'=Sum(Case When PersonalGrade=8 Then 1 Else 0 End), 
  5. '7G4'=Sum(Case When PersonalGrade=7 AND JobGrade =4 Then 1 Else 0 End), 
  6. '7G3'=Sum(Case When PersonalGrade=7 AND JobGrade =3 Then 1 Else 0 End), 
  7. '6G'=Sum(Case When PersonalGrade=6 Then 1 Else 0 End), 
  8. '5G3'=Sum(Case When PersonalGrade=5 AND JobGrade =3 Then 1 Else 0 End), 
  9. '5G2'=Sum(Case When PersonalGrade=5 AND JobGrade =2 Then 1 Else 0 End), 
  10. '4G'=Sum(Case When PersonalGrade=4 Then 1 Else 0 End), 
  11. '3G2'=Sum(Case When PersonalGrade=3 AND JobGrade =2 Then 1 Else 0 End), 
  12. '3G1'=Sum(Case When PersonalGrade=3 AND JobGrade =1 Then 1 Else 0 End), 
  13. '2G'=Sum(Case When PersonalGrade=2 Then 1 Else 0 End), 
  14. '1G'=Sum(Case When PersonalGrade=1 Then 1 Else 0 End), 
  15. --' 未定级'=Sum(Case When PersonalGrade=NULL Then 1 Else 0 End)  

表复制

  1. insert into PhoneChange_Num ([IMSI],Num) 
  2. SELECT [IMSI] 
  3.       ,count([IMEI]) as num 
  4.   FROM [Test].[dbo].[PhoneChange] group by [IMSI] order by num desc  

语法1:Insert INTO table(field1,field2,...) values(value1,value2,...)
语法2:Insert into Table2(field1,field2,...) select value1,value2,... from Table1(要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。)
语法3:SELECT vale1, value2 into Table2 from Table1(要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。)
语法4:使用导入导出功能进行全表复制。如果是使用【编写查询以指定要传输的数据】,那么在大数据表的复制就会有问题?因为复制到一定程度就不再动了,内存爆了?它也没有写入到表中。而使用上面3种语法直接执行是会马上刷新到数据库表中的,你刷新一下mdf文件就知道了。 

利用带关联子查询Update语句更新数据

  1. --方法1: 
  2. Update Table1 set c = (select c from Table2 where a = Table1.a) where c is null  
  3.  
  4. --方法2: 
  5. update  A 
  6. set  newqiantity=B.qiantity 
  7. from  A,B 
  8. where  A.bnum=B.bnum  
  9.  
  10. --方法3: 
  11. update 
  12.     (select A.bnum ,A.newqiantity,B.qiantity from A left join B on A.bnum=B.bnum) AS C 
  13. set C.newqiantity = C.qiantity 
  14. where C.bnum =XX  

连接远程服务器

  1. --方法1: 
  2. select *  from openrowset('SQLOLEDB','server=192.168.0.67;uid=sa;pwd=password','SELECT * FROM BCM2.dbo.tbAppl'
  3.  
  4. --方法2: 
  5. select *  from openrowset('SQLOLEDB','192.168.0.67';'sa';'password','SELECT * FROM BCM2.dbo.tbAppl'

TRUNCATE TABLE [Table Name]

下面是对Truncate语句在MSSQLServer2000中用法和原理的说明:
Truncate是SQL中的一个删除数据表内容的语句,用法是:
Truncate table 表名 速度快,而且效率高,因为:
  TRUNCATE TABLE 在功能上与不带 WHERE 子句

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师