SQL server 左外连接问题

要求查询市场部所有员工姓名和2005年1月工资明细,其中person表里有个人不在pay表里,我用左外连接,还是看不到这个人?
select person.name,pay.*
from dept,person left outer join pay on

  (person.no=pay.no )   

where dept.deptname='市场部'and person.deptno=dept.deptno and pay.year=2005 and pay.month=1

dept表
clipboard.png

person
clipboard.png

pay
clipboard.png

结果少了张辉 NULL..

clipboard.png

阅读 2.4k
2 个回答

pay.year=2005 and pay.month=1 而张辉 都是NULL,就被筛选掉了

and pay.year=2005 and pay.month=1
把这个放到where语句中,不要放到关联条件中

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