SQL 高级使用
sql 的那些基本语法我就不说了,说一些在工作中遇到的,记录下,方便以后查阅
1.update ... from ...
update b set memo = a.name from a,b where a.id = b.id
2.case when then else end 条件控制 ,行转列
select CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END from A
3.Cursor 游标
DECLARE @ID int
--定义游标
DECLARE MyCursor CURSOR
FOR SELECT ID FROM tbclass_1
--打开一个游标
OPEN MyCursor
--循环一个游标
FETCH NEXT FROM MyCursor INTO @ID
WHILE @@FETCH_STATUS =0
BEGIN
--sql代码块
FETCH NEXT FROM MyCursor INTO @ID
END
CLOSE MyCursor --关闭游标
DEALLOCATE MyCursor --释放游标
4.insert bluk 批量导入
Bulk insert 数据库名.用户名.表名
from '数据文件路径'
with
(
formatfile = '格式文件路径',
FirstRow = 2 --指定数据文件中开始的行数,默认是1
)
5.PROCEDURE 存储过程
CREATE PROCEDURE ProcedureName
--参数
AS
BEGIN
--内容
END
6.FUNCTION 函数
CREATE FUNCTION FunctionName
(
--参数
)
RETURNS <Function_Data_Type, ,int>
AS
BEGIN
-- 内容
-- Return the result of the function
RETURN <@ResultVar, sysname, @Result>
END
7.聚合函数
常用的聚合函数:
AVG() - 返回平均值
COUNT() - 返回行数
FIRST() - 返回第一个记录的值
LAST() - 返回最后一个记录的值
MAX() - 返回最大值
MIN() - 返回最小值
SUM() - 返回总和
8.group...by...having...count...
select DeptID,DeptName from Department where DeptID in (select DeptID from Employee group by DeptID having COUNT(*)<3)
未完待续...

浙公网安备 33010602011771号