sql排序用法

sql排序用法

select关键字

*星号表示全搜索

where关键字

SELECT *
FROM PW_Student
WHERE StudentSex = '女'

排序

写法

ORDER BY [column_name | expression] [ASC | DESC ]关键字

  • 升序 ASC(默认)
  • 降序 DESC
SELECT *
FROM PW_Student
ORDER BY StudentSex desc
按多列对结果集进行排序
SELECT *
FROM PW_Student
ORDER BY StudentSex ASC,StudentName DESC

先将顺序在前面的进行排序,再第一个的基础上载进行后面的排序

细节处理:就算order by 查询的字段不在select搜索的范围里,但是只要是在你查询的表里的字段,数据库就可以进行排序

处理具有ORDER BY子句的SELECT语句时,ORDER BY子句是要处理的最后一个子句

len()函数 检查字符的长度。

SELECT *
FROM PW_Student
ORDER BY LEN(StudentName) desc
按列的序数位置排序
SELECT *
FROM PW_Student
ORDER BY 1 ASC,3 ASC

这里不用表里的字段名来进行排序,而是用了表示字段的序数.只要表里有字段,找到相应的序数就可以进行排序


限制返回行数

SELECT TOP [NUMBER] | [NUMBER] +[PERCENT]

由于存储在表中的行的顺序是不可预测的,因此SELECT TOP语句始终与ORDER BY子句一起使用

搜索十条语句
SELECT TOP 10 *
FROM PW_Student
ORDER BY StudentNumber
搜索百分之十的语句
SELECT TOP 10 PERCENT *
FROM PW_Student
ORDER BY StudentNumber
WITH TIES 匹配最后数值相同的数据
SELECT TOP 1 percent WITH TIES *
FROM PW_Student
ORDER BY GradeID

最后一行中的值匹配的行的GradeID的值,会在表里重新搜索同样的值展示出来.

分页查询 OFFSET{ROW | ROWS} FETCH{FIRST | NEXT}
SELECT TOP 1 percent WITH TIES *
FROM PW_Student
ORDER BY GradeID
OFFSEET (NUM-1)*NUMBER ROWS
FETCH TEXT NUMBER ROWS ONLY

NUM代表第几页,NUMBER代表一页有几条数据

{FIRST | NEXT}这两个是同义词,可以互换使用


随手笔记


版权声明:本文为xiaoChenPengYou原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。