SQL inner join的问题

假设数据库表结构如 这里所示

select employees.employees.emp_no, 
    employees.employees.first_name, 
    employees.employees.last_name, 
    employees.salaries.salary
from employees.employees
inner join employees.salaries
on employees.employees.emp_no = employees.salaries.emp_no
limit 500

select employees.employees.emp_no, 
    employees.employees.first_name, 
    employees.employees.last_name, 
    employees.salaries.salary
from employees.employees,employees.salaries
where employees.employees.emp_no = employees.salaries.emp_no
limit 500

有哪些区别?

阅读 3.5k
2 个回答

请优先使用搜索引擎,INNER JOIN ON vs WHERE clause,大意就是它们是等价的,but inner join is more readable, and easier to modify.

使用inner joinwhere作联结是一样的,inner join在多表联结和联结条件复杂的情况下可读性要好很多,语义也更强,尤其是同时还有left join的情况下。推荐使用 inner join

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题