doc: 修改 Join 自己文档。

This commit is contained in:
Suomm 2024-03-12 19:22:46 +08:00
parent 9782a5086b
commit 84891dbd68

View File

@ -866,34 +866,43 @@ WHERE tb_account.age >= ?
## join 自己 ## join 自己
```java ```java
QueryWrapper queryWrapper = QueryWrapper.create(); AccountTableDef a1 = ACCOUNT.as("a1");
queryWrapper.from(ACCOUNT) AccountTableDef a2 = ACCOUNT.as("a2");
.leftJoin(ACCOUNT).as("a1").on(ACCOUNT.ID.eq(ACCOUNT.PARENT_ID)) ArticleTableDef ar = ARTICLE.as("ar");
.leftJoin(ACCOUNT).as("a2").on(ACCOUNT.ID.eq(ACCOUNT.PARENT_ID))
.where(ACCOUNT.ID.ge(1)); QueryWrapper queryWrapper = new QueryWrapper()
.select(ar.CONTENT, a1.ID, a2.AGE)
.from(ar)
.leftJoin(a1).on(a1.ID.eq(ar.ACCOUNT_ID))
.leftJoin(a2).on(a2.ID.eq(ar.ACCOUNT_ID));
``` ```
其查询生成的 Sql 如下: 其查询生成的 Sql 如下:
```sql ```sql
SELECT * FROM `tb_account` SELECT
LEFT JOIN `tb_account` AS `a1` ` ar `.` content `,
ON `a1`.`id` = `tb_account`.`parent_id` ` a1 `.` id `,
LEFT JOIN `tb_account` AS `a2` ` a2 `.` age `
ON `a2`.`id` = `tb_account`.`parent_id` FROM
WHERE `tb_account`.`id` >= ? ` tb_article ` AS ` ar `
LEFT JOIN ` tb_account ` AS ` a1 ` ON ` a1 `.` id ` = ` ar `.` account_id `
LEFT JOIN ` tb_account ` AS ` a2 ` ON ` a2 `.` id ` = ` ar `.` account_id `
``` ```
`tb_account` 表带有逻辑删除,那么其生成的 SQL 如下: `tb_account` 表带有逻辑删除,那么其生成的 SQL 如下:
```sql ```sql
SELECT * FROM `tb_account` SELECT
LEFT JOIN `tb_account` AS `a1` ` ar `.` content `,
ON `a1`.`id` = `tb_account`.`parent_id` AND `a1`.`is_delete` = ? ` a1 `.` id `,
LEFT JOIN `tb_account` AS `a2` ` a2 `.` age `
ON `a2`.`id` = `tb_account`.`parent_id` AND `a2`.`is_delete` = ? FROM
WHERE `tb_account`.`id` >= ? ` tb_article ` AS ` ar `
AND `tb_account`.`is_delete` = ? LEFT JOIN ` tb_account ` AS ` a1 ` ON (` a1 `.` id ` = ` ar `.` account_id `)
AND ` a1 `.` is_delete ` = 0
LEFT JOIN ` tb_account ` AS ` a2 ` ON (` a2 `.` id ` = ` ar `.` account_id `)
AND ` a2 `.` is_delete ` = 0
``` ```
> 关于逻辑删除更多文档请参考 [这里](../core/logic-delete.html)。 > 关于逻辑删除更多文档请参考 [这里](../core/logic-delete.html)。