SQL INNER JOIN的左右两张表的顺序会影响结果吗?

查看:826
本文介绍了SQL INNER JOIN的左右两张表的顺序会影响结果吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

牛客网的在线编程《数据库SQL实战》第三题
运用INNER JOIN解决问题时,以下两种方法得出的结果不同:

  • 方法一:

SELECT salaries.emp_no,salaries.salary,salaries.from_date,salaries.to_date,dept_manager.dept_no 
FROM salaries INNER JOIN dept_manager ON salaries.emp_no = dept_manager.emp_no
WHERE dept_manager.to_date = '9999-01-01'AND salaries.to_date = '9999-01-01'

  • 方法二

SELECT salaries.emp_no,salaries.salary,salaries.from_date,salaries.to_date,dept_manager.dept_no 
FROM dept_manager INNER JOIN salaries ON salaries.emp_no = dept_manager.emp_no
WHERE dept_manager.to_date = '9999-01-01'AND salaries.to_date = '9999-01-01'

上述两种方法仅改变INNER JOIN左右两张表的顺序,但结果却不一样,方法一能通过测试,方法二通不过。

请教一下大家,表的顺序是真的会影响结果,还是OJ系统或测试数据的Bug所致?个人倾向于后者,求解答,谢谢。

解决方案

INNER JOIN的话,表的顺序不影响运行结果。
你可以自己建表、造数据测试验证。

这篇关于SQL INNER JOIN的左右两张表的顺序会影响结果吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆