1.select a.*,b.dept_name from user a left join dept b on a.dept_id=b.dept_id
2.select a.*,(select dept_name from dept where dept_id=a.dept_id) dept_name from user a
大佬们,这两种哪个效率更高?为什么?
1.select a.*,b.dept_name from user a left join dept b on a.dept_id=b.dept_id
2.select a.*,(select dept_name from dept where dept_id=a.dept_id) dept_name from user a
大佬们,这两种哪个效率更高?为什么?
至于left为什么比inner快。 是因为left时, 数据库在执行时, left左边的表是被优化执行的,因为left左边的表被无条件返回, left右边的表对结果集不存在影响。 但是inner的时候, 就需要对数据进行过滤。 所以速度会慢