【数据库】 SQL 常用语句
【数据库】 SQL 常用语句
INSERT INTO Table2(field1,field2,...) SELECT value1,value2,... FROMTable1
要求目标表Table2必须存在
2.批量导入
SELECT vale1, value2 INTO Table2 FROM Table1
要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中
3.去重并保留一项
DELETE FROM TableName WHERE ColName IN (select ColName
FROM TableName GROUP BY ColName HAVING COUNT(ColName) > 1)
AND id NOT in( select MAX(id) FROM ColName GROUP BY ProductId HAVING COUNT(ColName) > 1)
4.批量更新
UPDATE t1
SET Field1 = Field21, Field2 = Field22
FROM Table2 t2
WHERE ((t2.Field24 >= '') AND t1.fId = t4.fId);
5.分页
--max/top
SELECT TOP * FROM pagetest
WHERE id>(SELECT MAX(id) FROM (SELECT TOP id FROM pagetest ORDER BY id)a)
ORDER BY id
--row_number()
SELECT * FROM
(SELECT ROW_NUMBER()OVER(ORDER BY id)rownumber,* FROM pagetest)a
WHERE rownumber>= and rownumber<=9952
-- OFFSET FETCH (需要sql2012以上)
SELECT * FROM pagetest
ORDER BY id ASC
OFFSET @pageIndex * @pageSize ROWS
FETCH NEXT @pageSize ROWS ONLY
6. 表同步 MERGE
MERGE into [MergeDemo] as m -- 目标表
using Test as t -- 源表
on m.[title]=t.[name] -- 匹配条件
when matched then update set m.[num]=t.[age] -- 匹配成功
when not matched then insert values(t.[name],t.[age]) -- 目标表与源表不一致
when not matched by source then delete -- 源表与目标表不一致
output $action as [action] -- 输出操作
, inserted.[title] [ititle],inserted.[num] [inum]
, deleted.[title] [dtitle],deleted.[num] [dnum];
7. GROUP 加 TOP(每个 GROUP 取出 TOP 数据)
Declare @currentIndex int -- 游标
Declare @totalRows int -- 总的组数
Declare @time nvarchar() -- 第一个分组列
SET @currentIndex=
-- 按 第一个分组列 分组, 取出组名
SELECT row_number()over(order by [time] asc) id,[time] INTO #temp1
FROM (SELECT DISTINCT(CONVERT(VARCHAR(),create_time,)) [time] FROM tableName) a
SELECT @totalRows=COUNT() FROM #temp1 -- 总的组数
WHILE @currentIndex<=@totalRows -- 按 组名 循环
BEGIN
SELECT @time=[time] FROM #temp1 WHERE id=@currentIndex -- 取出当前组名
-- 取出当前 组 拥有的数据, 再按照 第二分组列 分组 取 TOP
SELECT TOP colName 'Url', COUNT((colName)) 'Count',CONVERT(VARCHAR(),create_time,) 'Time',GETDATE()
FROM tableName WHERE [time] = @time GROUP BY colName ORDER BY COUNT((colName)) DESC
SET @currentIndex =@currentIndex+1
END
【数据库】 SQL 常用语句的更多相关文章
- 【数据库】 SQL 常用语句之系统语法
[数据库] SQL 常用语句之系统语法 1. 获取取数据库服务器上所有数据库的名字 SELECT name FROM master.dbo.sysdatabases 2. 获取取数据库服务器上所有非系 ...
- WordPress 常用数据库SQL查询语句大全
在使用WordPress的过程中,我们少不了要对数据库进行修改操作,比如,更换域名.修改附件目录.批量修改文章内容等等.这个时候,使用SQL查询语句可以大大简化我们的工作量. 关于如何操作SQL查询语 ...
- SQL常用语句之数据库的创建、删除以及属性的修改-篇幅1
本篇文章主要总结了SQL Server 语句的使用和一些基础知识,因为目前我也正在学习,所以总结一下. 要使用数据库语句,首先就要知道数据库对象的结构: 通常情况下,如果不会引起混淆,可以直接使用对象 ...
- ADO+MFC数据库编程常用语句
设在OnInitDialog()函数中,已经完成了初始化COM,创建ADO连接等操作,即 // 初始化COM,创建ADO连接等操作 if (!AfxOleInit()) { AfxMessageBox ...
- [数据库] SQL查询语句表行列转换及一行数据转换成两列
原文来自:http://blog.csdn.net/Eastmount/article/details/50559008 本文主要讲述了SQL查询语句表之间的行列转换,同时也包括如何将一行数据转换成两 ...
- ORACLE数据库 常用命令和Sql常用语句
ORACLE 账号相关 如何获取表及权限 1.COPY表空间backup scottexp登录管理员账号system2.创建用户 create user han identified(认证) by m ...
- SQL Server 数据库部分常用语句小结(三)
21.SQL运行Log的读取 .EXEC xp_readerrorlog 0,1,null,null,'开始时间','结束时间' 22. Alwayson 状况及传输情况监控 SELECT ar.re ...
- SQL Server 数据库部分常用语句小结(二)
9. 查询备份还原数据库的进度. select command ,percent_complete ,est_time_to_go=convert(varchar,(estimated_complet ...
- SQL Server 数据库部分常用语句小结(一)
1. 查询某存储过程的访问情况 SELECT TOP 1000 db_name(d.database_id) as DBName, s.name as 存储名字, s.type_desc as 存储类 ...
随机推荐
- 【BZOJ4573】[ZJOI2016] 大森林(LCT)
点此看题面 大致题意: 有\(n\)棵树,初始各有\(1\)个编号为\(1\)的节点,且其为生长节点.\(3\)种操作:将\([l,r]\)区间内的树增加一个新的编号的节点,修改\([l,r]\)区间 ...
- BZOJ1718:[USACO]Redundant Paths 分离的路径(双连通分量)
Description In order to get from one of the F (1 <= F <= 5,000) grazing fields (which are numb ...
- bzoj 3339 莫队
题意: 求任意一个区间的SG函数. 想到线段树,但是线段树合并很麻烦. 线段树——分块. 分块的一个应用就是莫队算法. 怎么暴力递推呢? 从一个区间到另一个区间,Ans 取决于 Ans 和 加入和删除 ...
- Android学习笔记_5_文件操作
1.Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的. package com.example.servi ...
- phpstorm常用plugins
CodeGlance JsonOnlineViewer CSS-X-Fire Laravel Plugin PHP annotations
- js通过ua标识判断h5页面是否内嵌在app内
var userAgent = navigator.userAgent.toLowerCase();//获取UA信息 if(userAgent.indexOf("ezhouxing" ...
- 课时89.CSS三大特性练习(理解)
给大家补充一点:通配符是不参与权重计算的,因为通配符的权重是0,而权重只计算id,类,标签,将来还有一种,到后面说. 练习1 直接选中和间接选中的,必然要听直接选中的. 练习2 直接选中一共有两个,直 ...
- node学习----Promise 初见
今天在网上查看promise资料,发现promise有三种状态,pending,fullfilled,rejected.分别对应了初始化状态,成功状态及失败状态.为了理解写测试代码来实验:functi ...
- 统计iOS产品不同渠道的下载量
如何统计iOS产品不同渠道的下载量? 一.前言 在开发过程中,Android可能会打出来很多的包,用于标识不同的商店下载量.原来觉得苹果只有一个商店:AppStore,如何做出不同来源的统计呢?本篇文 ...
- vue和react总结
一.总结一下Vue和React的区别 相同点: 1.都支持服务器端渲染 2.都有Virtual DOM,组件化开发,通过props参数进行父子组件数据的传递,都实现webComponent ...