为什么要使用左连接

Zan*_*nam 4 sql left-join

我正在查看以下链接Left Join

如果左连接使用表 1 中的所有元素并且不关心表 2,为什么不直接写:

SELECT table1.column_name(s)
FROM table1
Run Code Online (Sandbox Code Playgroud)

而不是写作

SELECT table1.column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;
Run Code Online (Sandbox Code Playgroud)

Mat*_*eak 6

并不是说关心 中的值,TABLE1并且正如您所写的那样,并不关心TABLE2. 人们关心 中的值TABLE1以及 中的值(TABLE2 如果它们存在)

假设您想要一份员工及其经理的报告。您不会仅仅因为您公司的总裁没有经理就将其排除在外。所以,你会把它写成一个LEFT OUTER JOIN.

SELECT e.employee_name, m.employee_name manager_name
FROM   employees e 
LEFT JOIN employees m ON m.employee_id = e.manager_id
Run Code Online (Sandbox Code Playgroud)

这样,您将获得一行,其中包含您的总裁姓名和总裁的NULL经理姓名。如果你把它写成 INNER 连接,你根本就不会因为总统而争吵。