我正在寻找编写查询的不同方法,我只是想知道你们都认为哪种方法是使用以下选项的更好方法:
SELECT a.salary
FROM emp a
JOIN emp b ON a.salary < b.salary
WHERE b.id = 200
或
SELECT salary
FROM emp
WHERE salary < (SELECT salary
FROM emp
WHERE id = 200)
我对表中大约 300 条记录进行了一些执行,结果大致相同,因此这实际上更多地取决于偏好和可接受的标准。我个人更喜欢第二种方式(只是更容易读给我听)。我有一种感觉,第一个是标准的。大家觉得怎么样?
最佳答案
我认为这个问题没有明确的答案,因为它实际上取决于查询本身和 RDMS 的上下文。
因此,就您的情况而言,您已经完成了 300 条记录的研究。三百万怎么样?这有什么不同吗?
就我个人而言,如果可以的话,我喜欢连接而不是子查询,但正如我所说,这实际上是根据具体情况确定的。
关于sql - 链接表或子查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6470834/