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