可用版本: 开发版 (3.21) | 最新版 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

SQL 构建

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

SQL是一种声明式语言,难以集成到过程式、面向对象式、函数式或任何其他类型的编程语言中。jOOQ的理念是给予SQL应有的重视,并直接将其本身作为“内部领域特定语言”集成到Java中。

牢记这一理念,SQL构建是jOOQ的主要功能。所有其他功能(例如SQL执行代码生成)都只是建立在jOOQ的SQL构建能力之上的便利性。

本节将详细介绍jOOQ SQL构建功能所涉及的各种语法元素。有关所有语法元素的完整概述,请参阅手册中有关SQL到DSL映射规则的部分。

目录

3.1.
查询DSL类型
3.2.
DSLContext API
3.2.1.
SQL 方言
3.2.2.
SQL方言系列
3.2.3.
SQL方言类别
3.2.4.
Connection与DataSource
3.2.5.
自定义数据
3.2.6.
自定义ExecuteListeners
3.2.7.
自定义Unwrappers
3.2.8.
自定义设置
3.2.8.1.
自动附加记录
3.2.8.2.
自动内联绑定值
3.2.8.3.
反斜杠转义
3.2.8.4.
批量大小
3.2.8.5.
计算列激活 (新增)
3.2.8.6.
计算列仿真
3.2.8.7.
诊断连接
3.2.8.8.
诊断日志记录
3.2.8.9.
方言兼容性
3.2.8.10.
脏跟踪 (新增)
3.2.8.11.
美元引号字符串标记
3.2.8.12.
执行日志记录
3.2.8.13.
执行日志记录SQL异常
3.2.8.14.
获取已修剪的CHAR类型 (新增)
3.2.8.15.
获取警告
3.2.8.16.
GROUP_CONCAT配置
3.2.8.17.
标识符样式
3.2.8.18.
隐式连接类型
3.2.8.19.
内联阈值
3.2.8.20.
IN列表填充
3.2.8.21.
解释器配置
3.2.8.22.
JDBC标志
3.2.8.23.
关键字样式
3.2.8.24.
监听器调用顺序
3.2.8.25.
语言环境
3.2.8.26.
映射JPA注解
3.2.8.27.
对象限定
3.2.8.28.
列的对象限定
3.2.8.29.
乐观锁定
3.2.8.30.
参数名称前缀
3.2.8.31.
参数类型
3.2.8.32.
解析器配置
3.2.8.33.
只读列行为
3.2.8.34.
反射缓存
3.2.8.35.
渲染配置
3.2.8.36.
存储时返回所有列
3.2.8.37.
存储时返回计算列
3.2.8.38.
存储时返回DEFAULT列
3.2.8.39.
存储时返回身份值
3.2.8.40.
运行时目录、模式和表映射
3.2.8.41.
存储过程的标量子查询
3.2.8.42.
SEEK子句实现
3.2.8.43.
语句类型
3.2.8.44.
可更新的主键
3.2.9.
线程安全
3.3.
DSL API
3.3.1.
可变性(历史)
3.4.
模型API
3.4.1.
设计
3.4.2.
遍历
3.4.3.
替换
3.4.3.1.
模式转换替换器
3.4.3.2.
表映射替换器
3.4.3.3.
监听替换器
3.4.3.4.
分解替换器
3.4.4.
历史模型API
3.5.
SQL 语句 (DML)
3.5.1.
WITH子句
3.5.2.
WITH RECURSIVE子句
3.5.3.
SELECT语句
3.5.3.1.
SELECT子句
3.5.3.1.1.
投影类型安全
3.5.3.1.2.
SelectField
3.5.3.1.3.
表作为SelectField
3.5.3.1.4.
SELECT *
3.5.3.1.5.
SELECT * EXCEPT (...)
3.5.3.1.6.
SELECT DISTINCT
3.5.3.1.7.
SELECT DISTINCT ON
3.5.3.1.8.
便捷方法
3.5.3.2.
FROM子句
3.5.3.2.1.
JOIN运算符
3.5.3.2.2.
隐式路径JOIN
3.5.3.2.3.
隐式多对一路径JOIN
3.5.3.2.4.
显式路径JOIN
3.5.3.2.5.
隐式路径关联
3.5.3.3.
WHERE子句
3.5.3.4.
CONNECT BY子句
3.5.3.5.
GROUP BY子句
3.5.3.5.1.
GROUP BY列
3.5.3.5.2.
GROUP BY列索引
3.5.3.5.3.
GROUP BY表
3.5.3.5.4.
GROUP BY ROLLUP
3.5.3.5.5.
GROUP BY CUBE
3.5.3.5.6.
GROUP BY GROUPING SETS
3.5.3.5.7.
GROUP BY空分组集
3.5.3.6.
HAVING子句
3.5.3.7.
WINDOW子句
3.5.3.8.
QUALIFY子句
3.5.3.9.
ORDER BY子句
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子句
3.5.3.10.
LIMIT .. OFFSET子句
3.5.3.11.
WITH TIES子句
3.5.3.12.
SEEK子句
3.5.3.13.
FOR XML子句
3.5.3.13.1.
AUTO模式
3.5.3.13.2.
PATH模式
3.5.3.13.3.
EXPLICIT模式
3.5.3.13.4.
RAW模式
3.5.3.13.5.
ROOT指令
3.5.3.13.6.
ELEMENTS指令
3.5.3.14.
FOR JSON子句
3.5.3.14.1.
AUTO模式
3.5.3.14.2.
PATH模式
3.5.3.14.3.
ROOT指令
3.5.3.14.4.
INCLUDE_NULL_VALUES指令
3.5.3.14.5.
WITHOUT_ARRAY_WRAPPER指令
3.5.3.15.
FOR UPDATE子句
3.5.3.16.
集合操作
3.5.3.16.1.
类型安全
3.5.3.16.2.
投影行类型
3.5.3.16.3.
与标准SQL的差异
3.5.3.16.4.
UNION
3.5.3.16.5.
UNION ALL
3.5.3.16.6.
INTERSECT
3.5.3.16.7.
INTERSECT ALL
3.5.3.16.8.
EXCEPT
3.5.3.16.9.
EXCEPT ALL
3.5.3.17.
SELECT子句的词法和逻辑顺序
3.5.4.
INSERT语句
3.5.4.1.
INSERT .. VALUES
3.5.4.2.
INSERT .. DEFAULT VALUES
3.5.4.3.
INSERT .. SET
3.5.4.4.
INSERT .. SELECT
3.5.4.5.
INSERT .. ON DUPLICATE KEY UPDATE
3.5.4.6.
INSERT .. ON DUPLICATE KEY UPDATE .. EXCLUDED
3.5.4.7.
INSERT .. ON DUPLICATE KEY UPDATE .. SET ALL TO EXCLUDED
3.5.4.8.
INSERT .. ON DUPLICATE KEY IGNORE
3.5.4.9.
INSERT .. ON CONFLICT
3.5.4.10.
INSERT .. ON CONFLICT .. EXCLUDED
3.5.4.11.
INSERT .. ON CONFLICT .. SET ALL TO EXCLUDED
3.5.4.12.
INSERT .. RETURNING
3.5.5.
UPDATE语句
3.5.5.1.
UPDATE .. SET
3.5.5.2.
UPDATE .. SET ROW
3.5.5.3.
UPDATE .. FROM
3.5.5.4.
UPDATE .. WHERE
3.5.5.5.
UPDATE .. ORDER BY .. LIMIT
3.5.5.6.
UPDATE .. RETURNING
3.5.6.
DELETE 语句
3.5.6.1.
DELETE .. USING
3.5.6.2.
DELETE .. WHERE
3.5.6.3.
DELETE .. ORDER BY .. LIMIT
3.5.6.4.
DELETE .. RETURNING
3.5.7.
MERGE语句
3.5.7.1.
USING .. ON
3.5.7.2.
WHEN MATCHED THEN UPDATE
3.5.7.3.
WHEN MATCHED THEN DELETE
3.5.7.4.
WHEN MATCHED AND ..
3.5.7.5.
WHEN NOT MATCHED THEN INSERT
3.5.7.6.
WHEN NOT MATCHED AND .. (新增)
3.5.7.7.
WHEN NOT MATCHED BY SOURCE (新增)
3.6.
SQL 语句 (DDL)
3.6.1.
ALTER语句
3.6.1.1.
ALTER DATABASE
3.6.1.1.1.
ALTER DATABASE .. RENAME
3.6.1.1.2.
ALTER DATABASE IF EXISTS
3.6.1.2.
ALTER DOMAIN
3.6.1.2.1.
ALTER DOMAIN .. RENAME
3.6.1.2.2.
ALTER DOMAIN .. SET DEFAULT
3.6.1.2.3.
ALTER DOMAIN .. DROP DEFAULT
3.6.1.2.4.
ALTER DOMAIN .. SET NOT NULL
3.6.1.2.5.
ALTER DOMAIN .. DROP NOT NULL
3.6.1.2.6.
ALTER DOMAIN .. ADD CONSTRAINT
3.6.1.2.7.
ALTER DOMAIN .. RENAME CONSTRAINT
3.6.1.2.8.
ALTER DOMAIN .. RENAME CONSTRAINT IF EXISTS
3.6.1.2.9.
ALTER DOMAIN .. DROP CONSTRAINT
3.6.1.2.10.
ALTER DOMAIN .. DROP CONSTRAINT IF EXISTS
3.6.1.2.11.
ALTER DOMAIN IF EXISTS
3.6.1.3.
ALTER INDEX
3.6.1.3.1.
ALTER INDEX .. RENAME
3.6.1.3.2.
ALTER INDEX IF EXISTS
3.6.1.4.
ALTER SCHEMA
3.6.1.4.1.
ALTER SCHEMA .. RENAME
3.6.1.4.2.
ALTER SCHEMA IF EXISTS
3.6.1.5.
ALTER SEQUENCE
3.6.1.5.1.
ALTER SEQUENCE .. RENAME
3.6.1.5.2.
ALTER SEQUENCE .. CACHE
3.6.1.5.3.
ALTER SEQUENCE .. CYCLE
3.6.1.5.4.
ALTER SEQUENCE .. MINVALUE
3.6.1.5.5.
ALTER SEQUENCE .. MAXVALUE
3.6.1.5.6.
ALTER SEQUENCE .. INCREMENT BY
3.6.1.5.7.
ALTER SEQUENCE .. START WITH
3.6.1.5.8.
ALTER SEQUENCE .. RESTART
3.6.1.5.9.
ALTER SEQUENCE IF EXISTS
3.6.1.6.
ALTER TABLE
3.6.1.6.1.
ALTER TABLE .. ADD COLUMN
3.6.1.6.2.
ALTER TABLE .. ADD COLUMN .. FIRST, BEFORE, AFTER
3.6.1.6.3.
ALTER TABLE .. ADD COLUMNS
3.6.1.6.4.
ALTER TABLE .. ADD COLUMN IF NOT EXISTS
3.6.1.6.5.
ALTER TABLE .. ADD PRIMARY KEY
3.6.1.6.6.
ALTER TABLE .. ADD UNIQUE
3.6.1.6.7.
ALTER TABLE .. ADD FOREIGN KEY
3.6.1.6.8.
ALTER TABLE .. ADD CHECK
3.6.1.6.9.
ALTER TABLE .. RENAME
3.6.1.6.10.
ALTER TABLE .. COMMENT
3.6.1.6.11.
ALTER TABLE .. ALTER COLUMN .. SET DEFAULT
3.6.1.6.12.
ALTER TABLE .. ALTER COLUMN .. DROP DEFAULT
3.6.1.6.13.
ALTER TABLE .. ALTER COLUMN .. SET NOT NULL
3.6.1.6.14.
ALTER TABLE .. ALTER COLUMN .. DROP NOT NULL
3.6.1.6.15.
ALTER TABLE .. ALTER COLUMN .. SET TYPE
3.6.1.6.16.
ALTER TABLE .. ALTER CONSTRAINT .. ENFORCED
3.6.1.6.17.
ALTER TABLE .. ALTER CONSTRAINT .. NOT ENFORCED
3.6.1.6.18.
ALTER TABLE .. RENAME COLUMN
3.6.1.6.19.
ALTER TABLE .. RENAME CONSTRAINT
3.6.1.6.20.
ALTER TABLE .. RENAME INDEX
3.6.1.6.21.
ALTER TABLE .. DROP COLUMN
3.6.1.6.22.
ALTER TABLE .. DROP COLUMN RESTRICT
3.6.1.6.23.
ALTER TABLE .. DROP COLUMN CASCADE
3.6.1.6.24.
ALTER TABLE .. DROP COLUMNS
3.6.1.6.25.
ALTER TABLE .. DROP COLUMN IF EXISTS
3.6.1.6.26.
ALTER TABLE .. DROP CONSTRAINT
3.6.1.6.27.
ALTER TABLE .. DROP PRIMARY KEY
3.6.1.6.28.
ALTER TABLE .. DROP UNIQUE
3.6.1.6.29.
ALTER TABLE .. DROP FOREIGN KEY
3.6.1.6.30.
ALTER TABLE .. DROP CONSTRAINT IF EXISTS
3.6.1.6.31.
ALTER TABLE IF EXISTS
3.6.1.7.
ALTER TYPE
3.6.1.7.1.
ALTER TYPE .. RENAME
3.6.1.7.2.
ALTER TYPE .. 用于枚举更改
3.6.1.7.3.
ALTER TYPE IF EXISTS
3.6.1.8.
ALTER VIEW
3.6.1.8.1.
ALTER VIEW .. AS
3.6.1.8.2.
ALTER VIEW .. COMMENT
3.6.1.8.3.
ALTER VIEW .. RENAME
3.6.1.8.4.
ALTER VIEW IF EXISTS
3.6.2.
COMMENT语句
3.6.2.1.
COMMENT ON COLUMN
3.6.2.2.
COMMENT ON MATERIALIZED VIEW
3.6.2.3.
COMMENT ON TABLE
3.6.2.4.
COMMENT ON VIEW
3.6.3.
CREATE 语句
3.6.3.1.
CREATE DATABASE
3.6.3.2.
CREATE DOMAIN
3.6.3.3.
CREATE FUNCTION
3.6.3.3.1.
标量函数
3.6.3.3.2.
CREATE OR REPLACE FUNCTION
3.6.3.3.3.
SQL 数据访问特性
3.6.3.3.4.
DETERMINISTIC特性
3.6.3.3.5.
ON NULL INPUT特性
3.6.3.4.
CREATE INDEX
3.6.3.5.
CREATE PROCEDURE
3.6.3.5.1.
CREATE OR REPLACE PROCEDURE
3.6.3.5.2.
SQL 数据访问特性
3.6.3.6.
CREATE SCHEMA
3.6.3.7.
CREATE SEQUENCE
3.6.3.7.1.
CREATE SEQUENCE IF NOT EXISTS
3.6.3.7.2.
CREATE SEQUENCE .. AS (新增)
3.6.3.7.3.
CREATE SEQUENCE .. CACHE
3.6.3.7.4.
CREATE SEQUENCE .. CYCLE
3.6.3.7.5.
CREATE SEQUENCE .. MINVALUE
3.6.3.7.6.
CREATE SEQUENCE .. MAXVALUE
3.6.3.7.7.
CREATE SEQUENCE .. INCREMENT BY
3.6.3.7.8.
CREATE SEQUENCE .. START WITH
3.6.3.8.
CREATE SYNONYM (新增)
3.6.3.8.1.
CREATE OR REPLACE SYNONYM (新增)
3.6.3.9.
CREATE TABLE
3.6.3.9.1.
3.6.3.9.2.
可空性
3.6.3.9.3.
默认值
3.6.3.9.4.
标识列
3.6.3.9.5.
计算列
3.6.3.9.6.
主键
3.6.3.9.7.
唯一约束
3.6.3.9.8.
外键
3.6.3.9.9.
检查约束
3.6.3.9.10.
从SELECT创建
3.6.3.9.11.
全局临时表
3.6.3.10.
CREATE TRIGGER
3.6.3.10.1.
事件
3.6.3.10.2.
REFERENCING子句
3.6.3.10.3.
STATEMENT vs ROW触发器
3.6.3.10.4.
WHEN子句
3.6.3.11.
CREATE TYPE .. AS ENUM
3.6.3.12.
CREATE TYPE .. AS OBJECT
3.6.3.13.
CREATE VIEW
3.6.3.13.1.
CREATE OR REPLACE VIEW
3.6.3.13.2.
WITH CHECK OPTION
3.6.3.13.3.
WITH READ ONLY
3.6.3.13.4.
MATERIALIZED
3.6.4.
DROP语句
3.6.4.1.
DROP DATABASE
3.6.4.1.1.
IF EXISTS
3.6.4.2.
DROP DOMAIN
3.6.4.2.1.
IF EXISTS
3.6.4.3.
DROP FUNCTION
3.6.4.3.1.
IF EXISTS
3.6.4.4.
DROP INDEX
3.6.4.4.1.
IF EXISTS
3.6.4.5.
DROP PROCEDURE
3.6.4.5.1.
IF EXISTS
3.6.4.6.
DROP SCHEMA
3.6.4.6.1.
IF EXISTS
3.6.4.7.
DROP SEQUENCE
3.6.4.7.1.
IF EXISTS
3.6.4.8.
DROP SYNONYM (新增)
3.6.4.8.1.
IF EXISTS (新增)
3.6.4.9.
DROP TABLE
3.6.4.9.1.
CASCADE
3.6.4.9.2.
IF EXISTS
3.6.4.10.
DROP TRIGGER
3.6.4.10.1.
IF EXISTS
3.6.4.11.
DROP TYPE
3.6.4.11.1.
IF EXISTS
3.6.4.12.
DROP VIEW
3.6.4.12.1.
IF EXISTS
3.6.5.
GRANT语句
3.6.6.
REVOKE语句
3.6.7.
SET语句
3.6.7.1.
SET CATALOG
3.6.7.2.
SET SCHEMA
3.6.8.
TRUNCATE语句
3.6.9.
从对象生成DDL
3.7.
事务性语句
3.7.1.
START TRANSACTION语句
3.7.2.
COMMIT语句
3.7.3.
ROLLBACK语句
3.7.4.
SAVEPOINT语句
3.7.5.
RELEASE SAVEPOINT语句
3.8.
过程语句
3.8.1.
块语句
3.8.2.
CALL 语句
3.8.3.
CONTINUE 语句
3.8.4.
EXECUTE 语句
3.8.5.
EXIT 语句
3.8.6.
FOR 语句
3.8.7.
GOTO 语句
3.8.8.
IF 语句
3.8.9.
标签
3.8.10.
LOOP 语句
3.8.11.
REPEAT 语句
3.8.12.
SIGNAL
3.8.13.
变量
3.8.14.
WHILE 语句
3.9.
目录和模式表达式
3.10.
表表达式
3.10.1.
生成的表
3.10.2.
别名表
3.10.2.1.
别名生成的表
3.10.2.2.
别名表表达式
3.10.2.3.
别名连接的表
3.10.2.4.
派生列列表
3.10.2.5.
未命名的派生表
3.10.3.
连接的表
3.10.3.1.
CROSS JOIN
3.10.3.2.
INNER JOIN
3.10.3.3.
OUTER JOIN
3.10.3.4.
SEMI JOIN
3.10.3.5.
ANTI JOIN
3.10.3.6.
ON子句
3.10.3.7.
ON KEY子句
3.10.3.8.
USING子句
3.10.3.9.
NATURAL子句
3.10.3.10.
LATERAL
3.10.3.11.
APPLY
3.10.3.12.
PARTITION BY
3.10.3.13.
JOIN提示
3.10.3.13.1.
HASH JOIN
3.10.3.13.2.
LOOP JOIN
3.10.3.13.3.
MERGE JOIN
3.10.4.
VALUES()表构造函数
3.10.5.
派生表
3.10.6.
内联派生表
3.10.7.
Oracle PIVOT子句
3.10.8.
关系除法
3.10.9.
数组和游标解嵌套
3.10.10.
表值函数
3.10.11.
GENERATE_SERIES
3.10.12.
WITH ORDINALITY
3.10.13.
JSON_TABLE
3.10.14.
XMLTABLE
3.10.15.
DUAL表
3.10.16.
临时表
3.10.17.
数据变更增量表
3.11.
列表达式
3.11.1.
表列
3.11.1.1.
生成的表列
3.11.1.2.
解引用的表列
3.11.1.3.
命名的表列
3.11.2.
别名列
3.11.3.
转换表达式
3.11.4.
转换表达式 (带TRY_CAST)
3.11.5.
数据类型转换
3.11.6.
隐藏列 (新增)
3.11.7.
只读列
3.11.8.
计算列
3.11.9.
排序规则
3.11.10.
算术表达式
3.11.11.
字符串连接
3.11.12.
字符串大小写敏感性
3.11.13.
通用函数
3.11.13.1.
CHOOSE
3.11.13.2.
COALESCE
3.11.13.3.
DECODE
3.11.13.4.
IIF
3.11.13.5.
NULLIF
3.11.13.6.
NVL
3.11.13.7.
NVL2
3.11.14.
数值函数
3.11.14.1.
ABS
3.11.14.2.
ACOS
3.11.14.3.
ASIN
3.11.14.4.
ATAN
3.11.14.5.
ATAN2
3.11.14.6.
CEIL
3.11.14.7.
COS
3.11.14.8.
COSH
3.11.14.9.
COT
3.11.14.10.
COTH
3.11.14.11.
DEG
3.11.14.12.
E
3.11.14.13.
EXP
3.11.14.14.
FLOOR
3.11.14.15.
GREATEST
3.11.14.16.
LEAST
3.11.14.17.
LN
3.11.14.18.
LOG
3.11.14.19.
LOG10
3.11.14.20.
NEG
3.11.14.21.
PI
3.11.14.22.
POWER
3.11.14.23.
RAD
3.11.14.24.
RAND
3.11.14.25.
ROUND
3.11.14.26.
SIGN
3.11.14.27.
SIN
3.11.14.28.
SINH
3.11.14.29.
SQRT
3.11.14.30.
SQUARE
3.11.14.31.
TAN
3.11.14.32.
TANH
3.11.14.33.
TRUNC
3.11.14.34.
WIDTH_BUCKET
3.11.15.
位函数
3.11.15.1.
BIT_AND
3.11.15.2.
BIT_COUNT
3.11.15.3.
BIT_GET
3.11.15.4.
BIT_NAND
3.11.15.5.
BIT_NOR
3.11.15.6.
BIT_NOT
3.11.15.7.
BIT_OR
3.11.15.8.
BIT_SET
3.11.15.9.
BIT_XNOR
3.11.15.10.
BIT_XOR
3.11.15.11.
SHL
3.11.15.12.
SHR
3.11.16.
字符串函数
3.11.16.1.
ASCII
3.11.16.2.
BIN_TO_UUID (新增)
3.11.16.3.
BIT_LENGTH
3.11.16.4.
CHR
3.11.16.5.
CONCAT (|| 运算符)
3.11.16.6.
DIGITS
3.11.16.7.
LEFT
3.11.16.8.
LENGTH
3.11.16.9.
LOWER
3.11.16.10.
LPAD
3.11.16.11.
LTRIM
3.11.16.12.
MD5
3.11.16.13.
MID
3.11.16.14.
OCTET_LENGTH
3.11.16.15.
OVERLAY
3.11.16.16.
POSITION
3.11.16.17.
REGEXP_REPLACE
3.11.16.18.
REPEAT
3.11.16.19.
REPLACE
3.11.16.20.
REVERSE
3.11.16.21.
RIGHT
3.11.16.22.
RPAD
3.11.16.23.
RTRIM
3.11.16.24.
SPACE
3.11.16.25.
SPLIT_PART
3.11.16.26.
SUBSTRING
3.11.16.27.
SUBSTRING_INDEX
3.11.16.28.
TO_CHAR
3.11.16.29.
TO_HEX
3.11.16.30.
TRANSLATE
3.11.16.31.
TRIM
3.11.16.32.
UPPER
3.11.16.33.
UUID
3.11.16.34.
UUID_TO_BIN (新增)
3.11.17.
二进制函数 (新增)
3.11.17.1.
BIT_LENGTH (binary) (新增)
3.11.17.2.
CONCAT (binary, || operator) (新增)
3.11.17.3.
LENGTH (binary) (新增)
3.11.17.4.
LTRIM (binary) (新增)
3.11.17.5.
MD5 (binary) (新增)
3.11.17.6.
OCTET_LENGTH (binary) (新增)
3.11.17.7.
OVERLAY (binary) (新增)
3.11.17.8.
POSITION (binary) (新增)
3.11.17.9.
RTRIM (binary) (新增)
3.11.17.10.
SUBSTRING (binary) (新增)
3.11.17.11.
TRIM (binary) (新增)
3.11.18.
日期时间函数
3.11.18.1.
CENTURY
3.11.18.2.
CURRENT_DATE
3.11.18.3.
CURRENT_LOCALDATE
3.11.18.4.
CURRENT_LOCALDATETIME
3.11.18.5.
CURRENT_LOCALTIME
3.11.18.6.
CURRENT_OFFSETDATETIME
3.11.18.7.
CURRENT_OFFSETTIME
3.11.18.8.
CURRENT_TIME
3.11.18.9.
CURRENT_TIMESTAMP
3.11.18.10.
DATE
3.11.18.11.
DATEADD
3.11.18.12.
DATEDIFF
3.11.18.13.
DATESUB
3.11.18.14.
DAY
3.11.18.15.
DAY_OF_YEAR
3.11.18.16.
DECADE
3.11.18.17.
EPOCH
3.11.18.18.
EXTRACT
3.11.18.19.
HOUR
3.11.18.20.
ISO_DAY_OF_WEEK
3.11.18.21.
LOCALDATE
3.11.18.22.
LOCALDATEADD
3.11.18.23.
LOCALDATESUB
3.11.18.24.
LOCALDATETIME
3.11.18.25.
LOCALDATETIMEADD
3.11.18.26.
LOCALDATETIMESUB
3.11.18.27.
LOCALTIME
3.11.18.28.
MILLENNIUM
3.11.18.29.
MINUTE
3.11.18.30.
MONTH
3.11.18.31.
QUARTER
3.11.18.32.
SECOND
3.11.18.33.
TIME
3.11.18.34.
TIMESTAMP
3.11.18.35.
TIMESTAMPADD
3.11.18.36.
TIMESTAMPSUB
3.11.18.37.
TO_DATE
3.11.18.38.
TO_LOCALDATE
3.11.18.39.
TO_LOCALDATETIME
3.11.18.40.
TO_TIMESTAMP
3.11.18.41.
TRUNC
3.11.18.42.
YEAR
3.11.19.
数组函数
3.11.19.1.
ARRAY_ALL_MATCH (新增)
3.11.19.2.
ARRAY_ANY_MATCH (新增)
3.11.19.3.
ARRAY_APPEND (|| 运算符)
3.11.19.4.
ARRAY_CONCAT (|| 运算符)
3.11.19.5.
ARRAY_FILTER (新增)
3.11.19.6.
ARRAY_GET
3.11.19.7.
ARRAY_MAP (新增)
3.11.19.8.
ARRAY_NONE_MATCH (新增)
3.11.19.9.
ARRAY_OVERLAP
3.11.19.10.
ARRAY_PREPEND (|| 运算符)
3.11.19.11.
ARRAY_REMOVE
3.11.19.12.
ARRAY_REPLACE
3.11.19.13.
数组构造函数
3.11.19.14.
来自子查询的数组构造函数
3.11.19.15.
CARDINALITY
3.11.20.
JSON函数
3.11.20.1.
JSON_ARRAY
3.11.20.2.
JSON_ARRAY_LENGTH (新增)
3.11.20.3.
JSON_INSERT
3.11.20.4.
JSON_KEY_EXISTS (新增)
3.11.20.5.
JSON_KEYS
3.11.20.6.
JSON_OBJECT
3.11.20.7.
JSON_REMOVE
3.11.20.8.
JSON_REPLACE
3.11.20.9.
JSON_SET
3.11.20.10.
JSON_VALUE
3.11.20.11.
使用->或->>访问JSON数组元素
3.11.20.12.
使用->或->>访问JSON对象属性
3.11.21.
XML函数
3.11.21.1.
XMLATTRIBUTES
3.11.21.2.
XMLCOMMENT
3.11.21.3.
XMLCONCAT
3.11.21.4.
XMLDOCUMENT
3.11.21.5.
XMLELEMENT
3.11.21.6.
XMLFOREST
3.11.21.7.
XMLPARSE
3.11.21.8.
XMLPI
3.11.21.9.
XMLQUERY
3.11.21.10.
XMLSERIALIZE
3.11.22.
CONNECT BY函数
3.11.22.1.
CONNECT_BY_ISCYCLE
3.11.22.2.
CONNECT_BY_ISLEAF
3.11.22.3.
CONNECT_BY_ROOT
3.11.22.4.
LEVEL
3.11.22.5.
PRIOR
3.11.22.6.
SYS_CONNECT_BY_PATH
3.11.23.
系统函数
3.11.23.1.
CURRENT_CATALOG
3.11.23.2.
CURRENT_SCHEMA
3.11.23.3.
CURRENT_USER
3.11.24.
空间函数
3.11.24.1.
ST_Area
3.11.24.2.
ST_AsText
3.11.24.3.
ST_Boundary (新增)
3.11.24.4.
ST_Centroid
3.11.24.5.
ST_Difference
3.11.24.6.
ST_Dimension (新增)
3.11.24.7.
ST_Distance
3.11.24.8.
ST_EndPoint
3.11.24.9.
ST_ExteriorRing
3.11.24.10.
ST_GeometryN
3.11.24.11.
ST_GeometryType
3.11.24.12.
ST_GeomFromText
3.11.24.13.
ST_InteriorRingN
3.11.24.14.
ST_Intersection
3.11.24.15.
ST_Length
3.11.24.16.
ST_NumGeometries
3.11.24.17.
ST_NumInteriorRings
3.11.24.18.
ST_NumPoints
3.11.24.19.
ST_Perimeter (新增)
3.11.24.20.
ST_PointN
3.11.24.21.
ST_SRID
3.11.24.22.
ST_StartPoint
3.11.24.23.
ST_Transform (新增)
3.11.24.24.
ST_Union
3.11.24.25.
ST_X
3.11.24.26.
ST_XMax (新增)
3.11.24.27.
ST_XMin (新增)
3.11.24.28.
ST_Y
3.11.24.29.
ST_YMax (新增)
3.11.24.30.
ST_YMin (新增)
3.11.24.31.
ST_Z
3.11.24.32.
ST_ZMax (新增)
3.11.24.33.
ST_ZMin (新增)
3.11.25.
聚合函数
3.11.25.1.
分组
3.11.25.2.
Distinctness
3.11.25.3.
过滤
3.11.25.4.
排序
3.11.25.5.
Ordering WITHIN GROUP
3.11.25.6.
Keep
3.11.25.7.
ANY_VALUE
3.11.25.8.
ARRAY_AGG
3.11.25.9.
AVG
3.11.25.10.
LISTAGG (binary) (新增)
3.11.25.11.
BIT_AND_AGG
3.11.25.12.
BIT_NAND_AGG
3.11.25.13.
BIT_NOR_AGG
3.11.25.14.
BIT_OR_AGG
3.11.25.15.
BIT_XOR_AGG
3.11.25.16.
BIT_XNOR_AGG
3.11.25.17.
BOOL_AND
3.11.25.18.
BOOL_OR
3.11.25.19.
COLLECT
3.11.25.20.
COUNT
3.11.25.21.
CUME_DIST
3.11.25.22.
DENSE_RANK
3.11.25.23.
EVERY
3.11.25.24.
GROUP_CONCAT
3.11.25.25.
JSON_ARRAYAGG
3.11.25.26.
JSON_OBJECTAGG
3.11.25.27.
LISTAGG
3.11.25.28.
MAX
3.11.25.29.
MAX_BY (新增)
3.11.25.30.
MEDIAN
3.11.25.31.
MIN
3.11.25.32.
MIN_BY (新增)
3.11.25.33.
MODE
3.11.25.34.
MULTISET_AGG
3.11.25.35.
PERCENT_RANK
3.11.25.36.
PERCENTILE_CONT
3.11.25.37.
PERCENTILE_DISC
3.11.25.38.
PRODUCT
3.11.25.39.
RANK
3.11.25.40.
SUM
3.11.25.41.
XMLAGG
3.11.26.
窗口函数
3.11.26.1.
PARTITION BY
3.11.26.2.
ORDER BY
3.11.26.3.
ROWS, RANGE, GROUPS (frame clause)
3.11.26.4.
EXCLUDE
3.11.26.5.
NULL 处理
3.11.26.6.
FROM FIRST, FROM LAST
3.11.26.7.
嵌套聚合函数
3.11.26.8.
窗口聚合
3.11.26.9.
窗口有序聚合
3.11.26.10.
ROW_NUMBER
3.11.26.11.
RANK
3.11.26.12.
DENSE_RANK
3.11.26.13.
PERCENT_RANK
3.11.26.14.
CUME_DIST
3.11.26.15.
NTILE
3.11.26.16.
LEAD
3.11.26.17.
LAG
3.11.26.18.
FIRST_VALUE
3.11.26.19.
LAST_VALUE
3.11.26.20.
NTH_VALUE
3.11.27.
用户定义函数
3.11.28.
用户定义聚合函数
3.11.29.
用户定义类型属性路径
3.11.30.
CASE表达式
3.11.31.
序列和自增列
3.11.32.
标量子查询
3.11.33.
数组值构造函数
3.11.34.
MULTISET值构造函数
3.11.35.
元组或行值表达式
3.11.36.
嵌套记录
3.12.
条件表达式
3.12.1.
条件构建
3.12.2.
TRUE和FALSE条件
3.12.3.
布尔列
3.12.4.
AND, OR, NOT布尔运算符
3.12.5.
布尔运算符优先级
3.12.6.
XOR布尔运算符
3.12.7.
比较谓词
3.12.8.
比较谓词 (degree > 1)
3.12.9.
量化比较谓词
3.12.10.
BETWEEN谓词
3.12.11.
BETWEEN谓词 (degree > 1)
3.12.12.
DISTINCT谓词
3.12.13.
DISTINCT谓词 (degree > 1)
3.12.14.
DOCUMENT谓词
3.12.15.
EXISTS谓词
3.12.16.
IN谓词
3.12.17.
IN谓词 (degree > 1)
3.12.18.
JSON谓词
3.12.19.
JSON_EXISTS谓词
3.12.20.
LIKE谓词
3.12.21.
LIKE谓词 (binary) (新增)
3.12.22.
LIKE REGEX谓词
3.12.23.
量化LIKE谓词
3.12.24.
量化LIKE谓词 (binary) (新增)
3.12.25.
NULL谓词
3.12.26.
NULL谓词 (degree > 1)
3.12.27.
OVERLAPS谓词
3.12.28.
SIMILAR TO谓词
3.12.29.
空间谓词
3.12.29.1.
ST_Contains
3.12.29.2.
ST_Crosses
3.12.29.3.
ST_Disjoint
3.12.29.4.
ST_Equals
3.12.29.5.
ST_Intersects
3.12.29.6.
ST_IsClosed
3.12.29.7.
ST_IsEmpty
3.12.29.8.
ST_IsRing (新增)
3.12.29.9.
ST_IsSimple (新增)
3.12.29.10.
ST_IsValid (新增)
3.12.29.11.
ST_Overlaps
3.12.29.12.
ST_Touches
3.12.29.13.
ST_Within
3.12.30.
UNIQUE谓词
3.12.31.
XMLEXISTS谓词
3.12.32.
示例查询 (QBE)
3.13.
运算符优先级
3.14.
合成SQL子句
3.15.
动态SQL
3.15.1.
可选的列表达式
3.15.2.
可选的条件表达式
3.15.3.
可选的表
3.16.
纯SQL
3.16.1.
纯SQL API
3.16.2.
纯SQL模板语言
3.16.3.
纯SQL原始模板
3.17.
提示
3.17.1.
MySQL提示
3.17.1.1.
索引提示
3.17.1.2.
STRAIGHT_JOIN
3.17.1.3.
MySQL中的Oracle风格提示
3.17.2.
Oracle提示
3.17.3.
SQL Server提示
3.17.3.1.
WITH
3.17.3.2.
OPTION
3.18.
SQL解析器
3.18.1.
SQL解析器API
3.18.2.
SQL解析器CLI
3.18.3.
SQL解析器监听器
3.18.4.
SQL转换器
3.18.5.
SQL解析器语法
3.19.
SQL解释器
3.20.
Schema差异
3.21.
Schema差异CLI
3.22.
名称和标识符
3.23.
绑定值和参数
3.23.1.
索引参数
3.23.2.
命名参数
3.23.3.
内联参数
3.23.4.
SQL注入
3.24.
QueryParts
3.24.1.
SQL渲染
3.24.2.
声明与引用
3.24.3.
美化SQL打印
3.24.4.
变量绑定
3.24.5.
自定义数据类型绑定
3.24.6.
自定义语法元素
3.24.7.
纯SQL QueryParts
3.24.8.
可序列化性
3.24.9.
SQL 转换
3.24.9.1.
ANSI JOIN到表列表
3.24.9.2.
表列表转换为 ANSI JOIN
3.24.9.3.
ROWNUM到LIMIT
3.24.9.4.
QUALIFY到派生表
3.24.9.5.
带LIMIT的IN条件子查询到派生表
3.24.9.6.
GROUP BY <列索引>
3.24.9.7.
内联CTE
3.24.9.8.
不必要的算术表达式
3.24.9.9.
基于模式的转换
3.24.9.9.1.
AND到NOT IN
3.24.9.9.2.
算术比较
3.24.9.9.3.
算术表达式
3.24.9.9.4.
BIT_GET函数
3.24.9.9.5.
BIT_SET函数
3.24.9.9.6.
CASE searched到CASE simple
3.24.9.9.7.
CASE到CASE缩写
3.24.9.9.8.
CASE与DISTINCT FROM到DECODE
3.24.9.9.9.
CASE with ELSE NULL
3.24.9.9.10.
COUNT(*)标量子查询比较
3.24.9.9.11.
COUNT(const)
3.24.9.9.12.
COUNT(expr)标量子查询比较
3.24.9.9.13.
DISTINCT FROM NULL
3.24.9.9.14.
空标量子查询
3.24.9.9.15.
展平CASE
3.24.9.9.16.
展平CASE缩写
3.24.9.9.17.
展平DECODE
3.24.9.9.18.
双曲线函数
3.24.9.9.19.
幂等函数重复
3.24.9.9.20.
反双曲线函数
3.24.9.9.21.
对数函数
3.24.9.9.22.
合并AND谓词
3.24.9.9.23.
合并BIT_NOT与BIT_NAND
3.24.9.9.24.
合并BIT_NOT与BIT_NOR
3.24.9.9.25.
合并BIT_NOT与BIT_XNOR
3.24.9.9.26.
合并CASE .. WHEN和ELSE子句
3.24.9.9.27.
合并CASE .. WHEN子句
3.24.9.9.28.
合并IN谓词
3.24.9.9.29.
合并NOT与比较谓词
3.24.9.9.30.
合并NOT与DISTINCT谓词
3.24.9.9.31.
合并OR谓词
3.24.9.9.32.
合并范围谓词
3.24.9.9.33.
规范化结合操作
3.24.9.9.34.
规范化字段与值比较
3.24.9.9.35.
规范化IN列表单元素为比较
3.24.9.9.36.
NOT AND
3.24.9.9.37.
NOT OR
3.24.9.9.38.
NULL ON NULL INPUT
3.24.9.9.39.
OR转IN
3.24.9.9.40.
重复的算术否定
3.24.9.9.41.
重复的按位否定
3.24.9.9.42.
重复的NOT
3.24.9.9.43.
简化CASE缩写
3.24.9.9.44.
三角函数
3.24.9.9.45.
Trim
3.24.9.9.46.
平凡的按位操作
3.24.9.9.47.
平凡的CASE缩写
3.24.9.9.48.
平凡的谓词
3.24.9.9.49.
不必要的DISTINCT
3.24.9.9.50.
不必要的EXISTS子查询子句
3.24.9.9.51.
不必要的GROUP BY表达式
3.24.9.9.52.
不必要的INNER JOIN
3.24.9.9.53.
不必要的ORDER BY表达式
3.24.9.9.54.
不必要的标量子查询
3.24.9.9.55.
不可达的CASE子句
3.24.9.9.56.
不可达的DECODE子句
3.24.10.
使用VisitListener进行自定义SQL转换
3.24.10.1.
示例:记录缩写的绑定值
3.24.11.
策略
3.24.11.1.
配置
3.24.11.2.
实现
3.24.11.3.
继承
3.24.11.4.
安全注意事项
3.25.
零基与一基API
3.26.
Kotlin中的SQL构建
3.26.1.
Kotlin MULTISET收集器
3.26.2.
Kotlin ResultQuery收集器
3.26.3.
Kotlin BOOLEAN值表达式
3.26.4.
Kotlin ARRAY访问
3.26.5.
Kotlin JSON访问
3.26.6.
Kotlin协程支持
3.27.
Scala中的SQL构建
3.28.
编译时验证

上一节 : 下一节

反馈

您对此页面有任何反馈吗?我们很乐意听取!

The jOOQ Logo