我正在查看以下链接 Left Join
如果左连接使用表 1 中的所有元素并且不关心表 2,为什么不直接写:
SELECT table1.column_name(s)
FROM table1
而不是写作
SELECT table1.column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;
最佳答案
人们并不关心 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
这样,您将获得一行,其中包含您的总裁姓名和总裁的
NULL
经理姓名。如果你把它写成 INNER 连接,你根本就不会因为总统而争吵。关于sql - 为什么要使用左连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39436507/