Skip to content

Commit

Permalink
doc: correct subquery optimization examples for clarity (#20274) (#20275
Browse files Browse the repository at this point in the history
)
  • Loading branch information
ti-chi-bot authored Feb 13, 2025
1 parent 697531d commit b09130e
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion subquery-optimization.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ By default, subqueries use `semi join` mentioned in [Understanding TiDB Executio
In this case, `ALL` and `ANY` can be replaced by `MAX` and `MIN`. When the table is empty, the result of `MAX(EXPR)` and `MIN(EXPR)` is NULL. It works the same when the result of `EXPR` contains `NULL`. Whether the result of `EXPR` contains `NULL` may affect the final result of the expression, so the complete rewrite is given in the following form:

- `t.id < all (select s.id from s)` is rewritten as `t.id < min(s.id) and if(sum(s.id is null) != 0, null, true)`
- `t.id < any (select s.id from s)` is rewritten as `t.id < max(s.id) or if(sum(s.id is null) != 0, null, false)`
- `t.id > any (select s.id from s)` is rewritten as `t.id > max(s.id) or if(sum(s.id is null) != 0, null, false)`

## `... != ANY (SELECT ... FROM ...)`

Expand Down

0 comments on commit b09130e

Please sign in to comment.