MySQL - Left Join vs Right Join

MySQL - Left Join vs Right Join 首页 / MySQL入门教程 / MySQL - Left Join vs Right Join

MySQL主要有两种联接,分别是LEFT JOIN和RIGHT JOIN。这些联接之间的主要区别是 包含不匹配的行 。 LEFT JOIN包括左侧的所有记录和右侧表的匹配行,而RIGHT JOIN返回右侧的所有行和左侧表的不匹配行。在本节中,将了解LEFT和RIGHT连接之间的流行区别。在探索比较之前,让无涯教程首先了解 MySQL 中的JOIN,LEFT JOIN和RIGHT JOIN子句。

LEFT JOIN子句

左联接子句联接两个或多个表,并返回左表中的所有行和右表中的匹配记录,如果没有,则返回null找到任何匹配的记录。也称为左外部联接。因此,Outer是与Left Join一起使用的可选关键字。

Left Join vs Right Join


RIGHT JOIN子句

Right Join子句连接两个或多个表,并返回右侧表中的所有行,仅返回满足该条件的另一个表中的结果指定的加入条件。如果从左侧表中找到不匹配的记录,则返回Null值。也称为右外部联接

Left Join vs Right Join


LEFT JOIN 语法

以下是LEFT JOIN的一般语法:

SELECT column_list  FROM table_name1 
LEFT JOIN table_name2 
ON column_name1 = column_name2
WHERE join_condition

以下是LEFT OUTER JOIN的一般语法:

SELECT column_list  FROM table_name1 
LEFT OUTER JOIN table_name2 
ON column_name1 = column_name2
WHERE join_condition

RIGHT JOIN 语法

以下是RIGHT JOIN的常规语法:

SELECT column_list  FROM table_name1 
RIGHT JOIN table_name2 
ON column_name1 = column_name2
WHERE join_condition

以下是RIGHT OUTER JOIN的一般语法:

链接:https://www.learnfk.comhttps://www.learnfk.com/mysql/mysql-left-join-vs-right-join.html

来源:LearnFk无涯教程网

SELECT column_list  FROM table_name1 
RIGHT OUTER JOIN table_name2 
ON column_name1 = column_name2
WHERE join_condition

Left Join vs. Right Join

下面的比较表快速解释了它们的主要区别:

LEFT JOIN RIGHT JOIN
它连接两个或多个表,从左表返回所有记录,从右表返回匹配行。它用于联接两个或多个表,从右表返回所有记录,并从左表返回匹配的行。
如果右侧表上没有匹配的行,则结果集将包含空值。如果左侧表中没有匹配的行,则结果集将包含空值。
它也被称为LEFT OUTER JOIN。也称为RIGHT OUTER JOIN。

让无涯教程通过示例了解两种连接之间的区别。假设有一个名为" customers"和" orders"的表,其中包含以下数据:

表:customers

Left Join vs Right Join

表:orders

Left Join vs Right Join

LEFT JOIN 例

以下SQL语句使用LEFT JOIN查询从两个表中返回匹配的记录:

SELECT cust_id, cust_name, order_num, order_date
FROM customer LEFT JOIN orders 
ON customer.cust_id = orders.order_id
WHERE order_date < '2020-04-30';

成功执行查询后,将获得如下输出:

Left Join vs Right Join

RIGHT JOIN 例

以下SQL语句使用RIGHT JOIN查询从两个表中返回匹配的记录:

SELECT cust_id, cust_name, occupation, order_num, order_date  
FROM customer
RIGHT JOIN orders ON cust_id = order_id  
ORDER BY order_date;

成功执行查询后,无涯教程将获得如下输出:

Left Join vs Right Join

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Service Mesh实践指南 -〔周晶〕

TypeScript开发实战 -〔梁宵〕

Node.js开发实战 -〔杨浩〕

性能测试实战30讲 -〔高楼〕

SRE实战手册 -〔赵成〕

罗剑锋的C++实战笔记 -〔罗剑锋〕

动态规划面试宝典 -〔卢誉声〕

Spark性能调优实战 -〔吴磊〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

好记忆不如烂笔头。留下您的足迹吧 :)