可用版本: Dev (3.21) | 最新 (3.20) | 3.19 | 3.18

别名连接的表

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

一些 SQL 方言遵循 SQL 标准,允许为连接表(即 JOIN 运算符的结果)设置别名,而不仅仅是单个 JOIN 操作数。 如果这不可用,jOOQ 将尝试模拟该功能,前提是不能有任何列歧义。

Table<?> t = AUTHOR.join(BOOK).on(AUTHOR.ID.eq(BOOK.AUTHOR_ID)).as("t");

方言支持

此示例使用 jOOQ

selectFrom(AUTHOR.join(BOOK).on(AUTHOR.ID.eq(BOOK.AUTHOR_ID)).as("t"))

翻译成以下特定方言的表达式

访问

SELECT
  t.ID,
  t.FIRST_NAME,
  t.LAST_NAME,
  t.DATE_OF_BIRTH,
  t.YEAR_OF_BIRTH,
  t.DISTINGUISHED,
  t.ID,
  t.AUTHOR_ID,
  t.TITLE,
  t.PUBLISHED_IN,
  t.LANGUAGE_ID
FROM (
  AUTHOR
    INNER JOIN BOOK
      ON AUTHOR.ID = BOOK.AUTHOR_ID
) t

ASE、Aurora Postgres、ClickHouse、CockroachDB、Databricks、Exasol、H2、HSQLDB、Hana、Informix、Postgres、Redshift、Teradata、Trino、Vertica、YugabyteDB

SELECT
  t.ID,
  t.FIRST_NAME,
  t.LAST_NAME,
  t.DATE_OF_BIRTH,
  t.YEAR_OF_BIRTH,
  t.DISTINGUISHED,
  t.ID,
  t.AUTHOR_ID,
  t.TITLE,
  t.PUBLISHED_IN,
  t.LANGUAGE_ID
FROM (
  AUTHOR
    JOIN BOOK
      ON AUTHOR.ID = BOOK.AUTHOR_ID
) t

Aurora MySQL、BigQuery、DB2、Derby、DuckDB、Firebird、MariaDB、MemSQL、MySQL、Oracle、SQLDataWarehouse、SQLServer、SQLite、Snowflake、Sybase

SELECT
  t.ID,
  t.FIRST_NAME,
  t.LAST_NAME,
  t.DATE_OF_BIRTH,
  t.YEAR_OF_BIRTH,
  t.DISTINGUISHED,
  t.ID,
  t.AUTHOR_ID,
  t.TITLE,
  t.PUBLISHED_IN,
  t.LANGUAGE_ID
FROM (
  SELECT *
  FROM AUTHOR
    JOIN BOOK
      ON AUTHOR.ID = BOOK.AUTHOR_ID
) t
使用 jOOQ 3.21 生成。早期 jOOQ 版本的支持可能有所不同。 在我们的网站上翻译您自己的 SQL

反馈

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

The jOOQ Logo