sql - 链接表或子查询?

标签 sql

我正在寻找编写查询的不同方法,我只是想知道你们都认为哪种方法是使用以下选项的更好方法:

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/

相关文章:

mysql - 如何找到最常见和最不常见的数字

mysql - 从新列中的两个表中减去两列

android - 我在此查询中得到 0 个结果。我究竟做错了什么? (安卓)

sql - 将关联表展平为多值列?

sql - Oracle 10 何时打开 UTL_MAIL 连接

sql - SQL Profiler 能否在查询旁边显示返回结果集?

MySQL Query 辅助应用过滤到两列

mysql - 错误代码: 1052 when INSERTing (ID in field list is ambiguous)

mysql - 如何获取部分有序数据但避免对请求进行一次又一次排序?

sql - 每月自动递增主键并重新播种