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

时间:2021-03-15 22:27:14

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

1、分页

Row_Number()实现:

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

OffSet 实现:

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

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

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

3、随机选取10条记录

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

4、PIVOT转置表值表达式

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