http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html 和 http://www.khankennels.com/blog/index.php/archives/2007/ 04/20/加入/
在学习使用维恩图连接的基础知识方面非常有帮助。但我想知道您如何将相同的想法应用于具有多个连接的查询。
假设我有 3 张桌子:
雇员
EmployeeID
FullName
EmployeeTypeID
EmployeeTypes(全职、兼职等)
EmployeeTypeID
TypeName
保险记录
InsuranceRecordID
EmployeeID
HealthInsuranceNumber
现在,我希望我的最终结果集包含来自所有三个表的数据,格式如下:
EmployeeID | FullName | TypeName | HealthInsuranceNumber
使用我从这两个站点中学到的知识,我可以使用以下联接来获取所有员工,无论他们的保险信息是否存在:
SELECT
Employees.EmployeeID, FullName, TypeName, HealthInsuranceNumber
FROM Employees
INNER JOIN EmployeeTypes ON Employees.EmployeeTypeID = EmployeeTypes.EmployeeTypeID
LEFT OUTER JOIN InsuranceRecords ON Employees.EmployeeID = InsuranceRecords.EmployeeID
我的问题是,使用同一种维恩图模式,上述查询将如何直观地表示?这张图准确吗?