SQL 高级使用

sql 的那些基本语法我就不说了,说一些在工作中遇到的,记录下,方便以后查阅

1.update ... from ...

  update b set memo = a.name from a,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) 

未完待续...

posted @ 2016-10-12 15:56  博通  阅读(261)  评论(0)    收藏  举报