任何一个可以建议哪一个是在这种情况下,更好地:在SQl查询中哪个更好的子查询或JOIN?
1:
SELECT
COLUMN1,
(SELECT
COLUMN2
FROM
TABLE2
WHERE
<some condition>) AS COLUMN2
FROM TABLE 1
2:
SELECT
T1.COLUMN1,
T2.COLUMN2
FROM
TABLE1 T1
INNER JOIN
TABLE2 T2 ON <some condition>
更好的查询是返回所需结果的那个。我猜想可能会出现两种查询可以互换的情况,但并不总是这样。如果您从给定条件的子查询中获取多个行,则子查询版本将失败。 –
更好的查询是在较短的时间内返回所需结果的查询。 –
更好的查询是使用更少的数据库资源返回所需结果并且足够快以满足您的应用程序需求的查询。也就是说,Smruti询问是否最好用子查询或联接来解决给定的问题。这个例子并不是很好(或者甚至是非常必要的),但是问题很明显。 – ObscureRobot