sql操作知识点个人笔记(SQLServer篇)

实际工作中,总会遇到一些常用的或不常用的sql,这些sql可能并没多少技术含量,但对我们本身而言,一个最大的问题就是很容易忘记。对我个人而言,以前常用的,过阵子之后再用到,发现不记得了。由此得出结论,一些知识点,还是记录下来好,方便以后查阅,说不定还能对别人有帮助呢。

 

1、分页

Row_Number()实现:

SELECT *
FROM 
(
    SELECT ROW_NUMBER() OVER(ORDER BY ID) NO, *
    FROM dbo.Student
) V
WHERE V.NO BETWEEN 31 AND 40

 

OffSet 实现:

SELECT *
FROM dbo.Student 
ORDER BY ID
OFFSET 30 ROWS FETCH NEXT 10 ROWS ONLY

 

2、插入记录并返回自增列

INSERT INTO dbo.Student
        ( NAME ,
          SEX ,
          BIRTHDAY ,
          NATION ,
          CLASS ,
          ADDRESS
        )
VALUES  ( N'' , -- NAME - nvarchar(50)
          N'' , -- SEX - nchar(10)
          GETDATE() , -- BIRTHDAY - date
          N'' , -- NATION - nchar(10)
          N'' , -- CLASS - nchar(10)
          N''  -- ADDRESS - nvarchar(100)
        )
SELECT @@IDENTITY

 

3、随机选取10条记录

SELECT TOP 10 *
FROM dbo.Student
ORDER BY NEWID()

 

4、PIVOT转置表值表达式

SELECT Name, [语文],[数学],[英语]
FROM dbo.Student_Score
PIVOT 
(
    SUM(Score)
    FOR Course IN ([语文],[数学],[英语])
) p
ORDER BY Name

 

posted @ 2017-03-15 11:09  GUOKUN  阅读(476)  评论(0编辑  收藏  举报