2013-11-25 137 views
2

我有两个表。一个叫员工和其他的称为部门在SQL Server中连接两个表

这是两个表:

CREATE TABLE Departmenr (
    department_code NCHAR(4), 
    department_name NVARCHAR(15), 
    city NVARCHAR(20), 
    budget MONEY 
) 

CREATE TABLE Employee (
    employee_id NCHAR(6), 
    name NVARCHAR(20), 
    position NVARCHAR(20), 
    salary MONEY, 
    dcode NCHAR(3), 
) 

我必须写,列出他们的工作部门的每个员工和名称的名义发表声明,对所有员工与谁有超过20,000英镑的薪水。 这意味着我必须加入Employee和Department表以获得输出。

我想这可能是这样的:

SELECT Emplyee.name, Department.department_name 
FROM Employee 
FULL OUTER JOIN Department 
ON Employee.salary > 20000; 

,但有错误。 我该怎么做?

+0

是DCODE在员工的部门外键? –

+0

您的连接似乎并未将两个表彼此关联。您的连接需要将一个表中列的值与另一个表中列的值关联起来。 – echochamber

+0

加入两个+表格,你需要有两个相互关联的字段,例如employee表中的“department_code”字段是departmentnr表的外键。 –

回答

3

假设dcode为表部的外键,你可以这样做:

SELECT e.NAME,d.department_name 
FROM Employee e 
INNER JOIN Department d ON e.dcode = d.department_code 
WHERE e.salary > 20000; 
+0

你忘了部门的别名 –

+0

@DavidYenglin。谢谢。我修好了它。 –