mysql-查询无法正常工作正常查询的工作方式
发布时间:2022-04-23 09:30:10 502
相关标签: # kotlin# 数据库# 数据库
我有一个问题如下:
select model_name, price
from `car` v
where ( select count(*)
from `car` vc
where vc.`price` > v.`price`
) < 5
使用数据集:
model_name price
a 1
b 2
c 3
d 4
e 5
f 6
g 7
h 8
i 9
k 10
上面的查询获取的结果如下:
model_name price
f 6
g 7
h 8
i 9
k 10
这里的主要问题是理解这个查询背后的逻辑流程。我理解的这个逻辑流就像交叉连接一样,子查询将在后端工作,如下所示:
VC_name VC_Price counts
a 1 0
b 2 1
c 3 2
d 4 3
e 5 4
f 6 5
g 7 6
h 8 7
i 9 8
k 10 9
如果我们进行这样的后端计算,它应该返回小于5的计数,该计数具有模型名称a、b、c、d、e,但该查询输出f、g、h、i、k。
现在,如果我们继续正常查询的工作方式,子查询将只返回一条记录,因为计数,然后如果条件为true,它将返回所有行,如果为false,它将只返回NULL。例如,如果子查询返回4,则返回4<;5、true它应该返回所有行,但输出完全不同。关于这一点的主要问题是MYSQL如何在后端处理这个查询,其流程是什么。
我希望我能解释我的问题。
提前谢谢。
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报