📜  SQL右连接

📅  最后修改于: 2021-08-24 05:05:30             🧑  作者: Mango

SQL中的RIGHT JOIN关键字返回右表中存在但左表中不存在的所有匹配记录(或行)和记录(或行)。这意味着,如果右表中存在某行但不在左侧,结果将包括该行,但从左侧开始的每一列中的值均为NULL。如果左侧表中的记录不在右侧,则该记录将不包含在结果中。

正确加入

RIGHT JOIN的语法是:

SELECT column_name(s) 
FROM tableA 
RIGHT JOIN tableB ON tableA.column_name = tableB.column_name;

SQL RIGHT JOIN示例:

在此示例中,我们将考虑两个表employee表,其中包含在特定部门工作的员工的详细信息,而department表则包含该部门的详细信息

员工表:

emp_no emp_name dept_no
E1 Varun Singhal D1
E2 Amrita Aggarwal D2
E3 Ravi Anand D3

部门表:

dept_no d_name location
D1 IT Delhi
D2 HR Hyderabad
D3 Finance Pune
D4 Testing Noida
D5 Marketing Mathura

为了对这两个表执行右连接,我们将使用以下SQL查询:

select emp_no , emp_name ,d_name, location 
from employee 
right join dept on employee.dept_no = department.dept_no;

我们将获得的输出如下:

emp_no emp_name d_name location
E1 Varun Singhal IT Delhi
E2 Amrita Aggarwal HR Hyderabad
E3 Ravi Anand Finance Pune
[NULL] [NULL] Testing Noida
[NULL] [NULL] Marketing Mathura

右联接给出了匹配的行以及左表中存在但右表中不存在的行。在此示例中,我们看到不包含员工的部门在执行以下操作后包含emp_no和emp_name的[NULL]值正确的加入。