gpt4 book ai didi

MySQL - 比子查询更好的方法

转载 作者:行者123 更新时间:2023-11-29 05:41:12 24 4
gpt4 key购买 nike

我有以下查询:

SELECT col1, col2, col3 FROM tb1
WHERE col4=ANY(
SELECT col1 FROM tb2
WHERE col2=(SELECT col1 FROM tb3 WHERE col3='php generated string')
AND col3=(SELECT col2 FROM tb3 WHERE col3='same string as above')
);

它可以工作,但是速度很慢。我知道有更好(也更快)的方法可以做到这一点,但我缺乏 SQL 查询的经验意味着我试图让这比它需要的更难。我尝试过使用 JOIN,但我也不真正了解如何在这种情况下使其发挥作用。

非常感谢任何帮助。

最佳答案

你是对的,你需要学习如何使用JOIN。如果您曾在多个表中匹配一列中的值,您可能应该JOIN将表ON连接到该列。

SELECT tb1.col1,tb1.col2,tb1.col3 
FROM tb1
JOIN tb2
ON (tb1.col4 = tb2.col1)
JOIN tb3
ON (tb1.col2 = tb3.col1
AND tb1.col3 = tb3.col2)
WHERE tb3.col3 = 'php generated string'

关于MySQL - 比子查询更好的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6707805/

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