右联接用于联接两个或多个表,并返回右表的所有行,并且仅返回满足联接条件的另一个表的结果。如果从左侧表中找到不匹配的记录,则返回Null值。它类似于"左联接",但它给出联接表的相反结果。也称为"右联接"。因此,Outer是与Right Join一起使用的可选子句。
无涯教程可以通过以下可视化表示来理解它,其中Right Outer Join返回左侧表中的所有记录,而仅返回另一个表中的匹配记录:
以下是连接表 Table1 和 Table2 的右连接的语法:
SELECT column_list FROM Table1 RIGHT [OUTER] JOIN Table2 ON join_condition;
让无涯教程看看" Right Join"如何工作。
此联接开始从右侧表中选择列,并与左侧表中的该表的每个记录匹配。如果两个记录均满足给定的连接条件,则它将所有行合并到一个新的行集中,并将其作为输出返回。
链接:https://www.learnfk.comhttps://www.learnfk.com/mysql/mysql-right-join.html
来源:LearnFk无涯教程网
举一些例子来了解Right Join子句的工作原理:
在这里,无涯教程将创建两个表" customers" 和" orders" ,其中包含以下数据:
表:customers
表:orders
要使用RIGHT JOIN从两个表中选择记录,请执行以下查询:
SELECT customers.customer_id, cust_name, price, date FROM customers RIGHT JOIN orders ON customers.customer_id = orders.customer_id ORDER BY customer_id;
要么,
SELECT customers.customer_id, cust_name, price, date FROM customers RIGHT JOIN orders USING(customer_id) ORDER BY customer_id;
成功执行以上查询后,它将给出等效的输出:
MySQL 使用 WHERE子句提供过滤器表中的结果。下面的示例通过Right Join子句对此进行了说明:
SELECT * FROM customers RIGHT JOIN orders USING(customer_id) WHERE price>2500 AND price
该语句给出以下结果:
无涯教程已经创建了两个表,分别为" customers" 和" orders" 。再创建一个表,并将其命名为包含以下数据的" contacts ":
执行以下语句以加入三个表的客户,订单和联系人:
SELECT customers.customer_id, cust_name, order_id, price, cellphone FROM customers RIGHT JOIN contacts ON customer_id = contact_id RIGHT JOIN orders ON customers.customer_id = orders.customer_id ORDER BY order_id;
成功执行以上查询后,将给出以下输出:
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)