SQL必知必会-读书笔记(三)

何为子句(clause)

子句由关键字+数据组成

例如

1
2
SELECT your_column -- 子句1
FROM your_table -- 子句2

ORDER BY细节

细节一

ORDER BY 默认只影响前一个列,例如

1
SELECT your_column FROM your_table ORDER BY A,B,C,D DESC -- DESC 只影响了 D 字段

在 MySQL 中,ORDER BY 默认是 ASC,例如

1
2
3
SELECT your_column FROM your_table ORDER BY A,B,C,D DESC -- DESC 只影响了 D 字段
# 等价为
SELECT your_column FROM your_table ORDER BY A ASC,B ASC,C ASC,D DESC

细节二

ORDER BY 可以用列的序号代替列名(序号从1开始)

1
2
3
4
# 假设字段A,B,C,D分别位于3456列,序号从1开始
SELECT your_column FROM your_table ORDER BY A,B,C,D DESC -- DESC 只影响了 D 字段
# 等价为
SELECT your_column FROM your_table ORDER BY 3,4,5,6 DESC -- DESC 只影响了第 6 列