(23820, -6ren">
gpt4 book ai didi

sql - PostgreSQL WHERE 子句如何在此查询中工作?

转载 作者:行者123 更新时间:2023-12-05 04:30:45 25 4
gpt4 key购买 nike

谁能解释一下这个 WHERE 子句在这个查询中是如何工作的?

    SELECT * FROM "User" AS U
WHERE ((U."ID", U."age") > (23820, 25));

据我了解,Postgres 返回 ID 大于 23820 的用户并忽略年龄列。

最佳答案

@JonasMetzler 的评论是正确的。 Postgres 显然将这个集合用作以下内容:

Most left parameter uses the operator, all the others use equal
OR
repeat until one parameter left (
Remove most left parameter +
Most left parameter uses the operator, all the others use equal
)
(parameter_n, [parameter_n-1, ..., parameter_n-final]) <operator> (value_n, [value_n-1, ..., value_n-final])

equals to

(parameter_n = value_n AND parameter_n-1 = value_n-1 AND ... parameter_n-final <operator> value_n-final)
OR
(parameter_n = value_n AND parameter_n-1 = value_n-1 AND ... parameter_n-final-1 <operator> value_n-final-1)
OR
...
(parameter_n = value_n AND parameter_n-1 <operator> value_n-1)
OR
(parameter_n <operator> value_n)

关于sql - PostgreSQL WHERE 子句如何在此查询中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71969904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com