gpt4 book ai didi

php - 使用更多子查询

转载 作者:行者123 更新时间:2023-11-29 08:04:32 25 4
gpt4 key购买 nike

当我使用子查询时,我遇到了这种情况。谁能解释一下哪一种是有效的,以及情况 1 比情况 2 更好的情况,反之亦然。

在情况 1 中,我使用了 3 个子查询,总共需要执行 4 个选择操作。

案例1

SELECT * FROM t 
WHERE Cid = (SELECT cid FROM s WHERE id = $sid)
AND Bid = (SELECT bid FROM s WHERE id = $sid)
AND Eid = (SELECT eid FROM s WHERE id = $sid)

在情况2中,我从数据库中检索了一些值并再次执行mysql查询。这里 mysqli_query 执行了两次,但在情况 1 中我们只使用了一次。

案例2

$res = mysqli_query($con,"SELECT cid,bid,eid FROM s WHERE id = $sid");
$row = mysqli_fetch_array($r,MYSQL_ASSOC);

"SELECT * FROM t WHERE Cid = $row[cid] AND Bid = $row[bid] AND Eid = $row[eid]";

或者还有其他更好的解决方案吗?任何帮助是极大的赞赏。谢谢

最佳答案

都不是。当您可以使用JOIN时,您不需要子查询。

SELECT t.* FROM t
JOIN s ON t.Cid = s.cid AND t.Bid = s.bid AND t.Eid = s.eid
WHERE s.id = $sid

关于php - 使用更多子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22995993/

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