Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL JOIN语句交叉连接?_Mysql_Sql_Join - Fatal编程技术网

MySQL JOIN语句交叉连接?

MySQL JOIN语句交叉连接?,mysql,sql,join,Mysql,Sql,Join,我不擅长使用旧的JOIN语句,也不擅长寻求一些友好的帮助。我有两张表,比如说表Employee: LastName DepartmentID Rafferty 31 Jones 33 Steinberg 33 Robinson 34 Smith 34 John NULL 和表部门: DepartmentID DepartmentName 31 Sales 33 Engineering 34 Clerical 35 Marketing 如果我想

我不擅长使用旧的JOIN语句,也不擅长寻求一些友好的帮助。我有两张表,比如说表
Employee

   LastName DepartmentID
Rafferty    31
Jones   33
Steinberg   33
Robinson    34
Smith   34
John    NULL
和表
部门

DepartmentID    DepartmentName
31  Sales
33  Engineering
34  Clerical
35  Marketing
如果我想返回结果,其中
DepartmentID=31
,并且只返回结果,其中
Employee.DepartmentID=Department.DepartmentID
,那么返回的结果如下所示:

Employee.LastName   Employee.DepartmentID   Department.DepartmentName
Rafferty    31  Sales
(我们可以删除其中一个DepartmentID,因为它们是相同的)-实现这一点的SQL语句是什么


谢谢

这里有一条比喻鱼:

在employee.departmentId=department.departmentId(其中departmentId=31)上选择*从员工内部加入部门

这是一堂隐喻性的钓鱼课:

(只需按“下一步”)


我们将使用
内部联接
来匹配每个表中的记录,使用部分的
将两个表之间的部门ID值相等。

谢谢,“部门d”和“员工e”是否使“d”和“e”成为可重用变量?@themerlinproject-否,它只是为表名创建别名,以便在同一查询中使用。在本例中,我使用它,因此我可以简单地键入“e”而不是“Employee”,例如。但是,当您将表连接到它本身时,别名特别方便。
SELECT e.LastName, e.DepartmentID, d.DepartmentName
FROM Employee e
INNER JOIN Department d ON d.DepartmentID = e.DepartmentID
WHERE d.DepartmentID = 31
SELECT e.LastName, e.DeparmentID, d.DepartmentName
FROM employee AS e INNER JOIN department AS d ON e.DepartmentID = e.DepartmentID
WHERE e.DepartmentID = 31