假设我们有两个表:员工表Employees 和部门表Departments
- Join:
SELECT E.EmployeeName,D.DepartmentName
FROM Employees E
JOIN Departments D
ON E.DepartmentID = D.DepartmentID;
------ 这个例子中,我们在Employees表和Departments表之间做了INNER JOIN操作。结果集只包含在两个表中有匹配数据的记录。
例如:如果Departments表中有某个DepartmentID没有对应的EmployeeID,那么这个部门就不会出现在结果集中。
2.Left Join:
SELECT E.EmployeeName,D.DepartmentName
FROM Employees E
LEFT JOIN Departments D
ON E.DepartmentID = D.DepartmentID;
------ 在这个例子中,我们对Employees表做了LEFT JOIN操作。即使在Departments表中没有找到匹配的数据,所有的Employees记录都会被包含在结果集中。
例如:如果有某个员工所在的部门ID在Departments表中不存在,那么该员工记录仍会被包含在结果集中,但是他的部门名称将会显示为NULL或者空字符串。
3.Right Join:
SELECT E.EmployeeName,D.DepartmentName
FROM Employees E
RIGHT JOIN Departments D
ON E.DepartmentID = D.DepartmentID;
------ 在这个例子中,我们对Departments表做了RIGHT JOIN操作。即使在Employees表中没有找到匹配的数据,所有的Departments记录都会被包含在结果集中。
例如:如果有某个部门没有员工,那么该部门记录仍会被包含在结果集中,但是它的员工名称将会显示为NULL或者空字符串。