RIGHT JOIN(右连接)
从紧跟其后的右表返回所有的行,即使在左表中没有匹配的行
语法格式:
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name= table_name2.column_name
【例🌰】(leetcode No.1378:使用唯一标识码替换员工ID)
题解:
SELECT EmployeeUNI.unique_id, Employees.name FROM EmployeeUNI
RIGHT JOIN Employees
ON Employees.id=EmployeeUNI.id
ORDER BY Employees.name
从Employees表(右表)中返回所有的行,当左表(EmployeeUNI)中没有匹配的值时也会返回并用null填充标识符。在这个例子中不管怎么样最后返回的结果都是5行。
LEFT JOIN 与上用法相似(左右互换)
从左表返回所有的行,即使在右表中没有匹配的行
语法格式:
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name= table_name2.column_name
【例🌰】(leetcode No.1068:产品销售分析)
题解:
SELECT Product.product_name, Sales.year, Sales.price FROM Sales
LEFT JOIN Product
ON Product.product_id=Sales.product_id
ORDER BY Product.product_name
从Sales表(左表)返回所有的行,即使在右表中没有匹配的行。在这个例子中不管怎样最后返回的结果都是3行。