SQLServer 删除前几行
在SQLServer中,DELETE TOP语句用于从表中删除记录,并针对固定值或百分比限制删除的记录数。
语法:
DELETE TOP (top_value) [ PERCENT ]
FROM [database_name].[dbo].[table_name]
[WHERE conditions];
参数说明
表: 它指定要从中删除记录的表。
位置条件: 是可选的。删除记录必须满足的条件。
TOP(top_value): : 它用于删除基于top_value的结果集中的前几行。例如,TOP(10)将删除符合删除条件的前10行。
PERCENT: 。这是可选的。它用于删除顶部行的百分比。例如,TOP(10)PERCENT将删除符合删除条件的记录的前10%。
使用TOP关键字进行删除
TOP关键字与DELETE语句一起使用以删除表的指定顶部行。
示例:
我们有一个表格" Employees",其中包含以下数据。
从薪水所在的"雇员"表中删除前2行大于或等于20000。
语法:
DELETE TOP(2)
FROM [lidihuo].[dbo].[Employees]
WHERE salary >= 20000;
您可以看到受影响的两行。现在查看输出:
输出:
使用TOP百分比关键字删除
TOP百分比关键字用于根据百分比删除行。
示例:
从薪水大于20000的表中删除前25%的行。
DELETE TOP(25) PERCENT
FROM [lidihuo].[dbo].[Employees]
WHERE salary > 20000;
您可以看到受影响的3行。 3正好是插入行数12的25%。
输出: