ORDER BY子句
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
数据库允许以任意顺序返回数据,除非您在 ORDER BY 子句中显式声明该顺序。
SELECT AUTHOR_ID, TITLE FROM BOOK ORDER BY AUTHOR_ID ASC, TITLE DESC
create.select(BOOK.AUTHOR_ID, BOOK.TITLE) .from(BOOK) .orderBy(BOOK.AUTHOR_ID.asc(), BOOK.TITLE.desc()) .fetch();
任何 jOOQ 列表达式(或字段)都可以通过调用 asc()
和 desc()
方法转换为 org.jooq.SortField
。
jOOQ 对 SELECT .. ORDER BY 的理解
SQL 标准定义了一个“查询表达式”可以排序,并且查询表达式可以包含 UNION、INTERSECT 和 EXCEPT 子句,这些子查询无法排序。 虽然这在 SQL 标准中是这样定义的,但许多以某种方式允许 LIMIT 子句的数据库并不遵守 SQL 标准的这一部分。 因此,jOOQ 允许对所有 SELECT 语句进行排序,无论它们是否作为 UNION 的一部分构造。 角落情况由 jOOQ 内部处理,通过引入合成子选择来遵守正确的语法(如果需要)。
目录
- 3.5.3.9.1.
- 按列索引排序
- 3.5.3.9.2.
- 排序和NULLS
- 3.5.3.9.3.
- 使用CASE表达式排序
- 3.5.3.9.4.
- Oracle的ORDER SIBLINGS BY子句
上一节 : 下一节 |
反馈
您对此页面有任何反馈吗? 我们很乐意听取您的意见!