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

时间:2022-07-24
本文章向大家介绍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