首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用更多子查询

使用更多子查询
EN

Stack Overflow用户
提问于 2014-04-10 18:22:27
回答 1查看 38关注 0票数 0

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

在案例1中,我使用了3个子查询,在总共4个select操作中,它需要执行。

案例1

代码语言:javascript
复制
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

代码语言:javascript
复制
$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]";

或者其他更好的解决方案?任何帮助都是非常感谢的。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-10 18:28:10

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

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22995993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档