【发布时间】:2018-06-08 16:55:49
【问题描述】:
我想设计一个查询,我想根据第一个表中的 id 从第二个表中获取名称。我可以使用以下两个查询获得结果。
请告诉我哪一个是有效的或给出快速结果的以及为什么。
SELECT r1.id, c1.categoryName
FROM request r1
LEFT JOIN category c1
ON r1.categoryId = c1.id
order by r1.dateCreated DESC;
SELECT id, (SELECT categoryName FROM category WHERE id
= categoryId)
FROM request r1
order by dateCreated DESC;
【问题讨论】:
-
你可以使用第一个查询,因为 JOIN 比 Sub Query 更好,你可以访问 URL
https://stackoverflow.com/questions/2577174/join-vs-sub-query -
最好使用第一个。随着记录数量的增加,子查询会增加服务器负载。
-
从现在开始我将使用连接而不是子查询。谢谢。
-
子查询需要更多时间而不是连接。所以第一个很好
标签: mysql