create table Employee(
id int identity(1,1) primary key,
Username varchar(50),
FirstName varchar(50),
LastName varchar(50),
DepartID int
)
create table Departments(
id int identity(1,1) primary key,
DepartmentName varchar(50)
)
两个Join结果集都相同,我们得到Employee匹配和不匹配。
Select * from Employee E
Left Join
Departments D
ON D.ID= E.DepartID
Select * from Departments D
Right Join Employee E
ON E.DepartID =D.ID
答案 0 :(得分:1)
您的两个查询确实完全可以互换。并且应该没有性能和结果的差异。
大多数人只使用LEFT JOIN
,因为它看起来更直观,而且它是通用语法 - 我不认为所有RDBMS都支持RIGHT JOIN
。并非所有RDBMS都支持SQL。例如,SQLite 3未实现RIGHT
和FULL OUTER JOIN
。