MS SQL Server select语句:显示两个表的所有组合

时间:2014-11-17 20:25:20

标签: sql-server

我在MS SQL Server数据库中有两个表:

表1

  Emp_ID, First_Name, Last_Name
  1 Joe Smith
  2 Bob Jones

表2

  Emp_ID, Dept_ID, Status
  1 1   Active
  1 2   NotActive
  1 3   NotActive
  2 1   Active

我想要做的是创建一个SQL select语句,该语句显示每个员工和部门组合的行以及状态,即使员工从未进入过部门(表2)。对于样本数据,这应该带回6条记录,因为有2名员工和3个部门。

任何帮助将不胜感激!

谢谢

2 个答案:

答案 0 :(得分:2)

如果您没有departments表格,则需要创建子查询以获取distinctdept_ids的{​​{1}}列表:

cross join

答案 1 :(得分:0)

SELECT *
FROM table1  T1 FULL OUTER JOIN table2 T2
ON T1.EMP_ID=T2.EMP_ID