在MySQL中,ON关键字用于连接两个或多个表,并在查询结果中返回匹配的行,它通常与JOIN子句一起使用,用于指定连接条件。
(图片来源网络,侵删)
以下是ON关键字的使用方法和一些示例:
1、内连接(INNER JOIN):返回两个表中匹配的行。
语法:
SELECT column1, column2, ... FROM table1 INNER JOIN table2 ON table1.column = table2.column;
示例:
SELECT customers.name, orders.order_date FROM customers INNER JOIN orders ON customers.customer_id = orders.customer_id;
这将返回客户名称和订单日期,其中客户ID在两个表中匹配。
2、左连接(LEFT JOIN):返回左表中的所有行,即使右表中没有匹配的行。
语法:
SELECT column1, column2, ... FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
示例:
SELECT customers.name, orders.order_date FROM customers LEFT JOIN orders ON customers.customer_id = orders.customer_id;
这将返回所有客户的名称以及与之匹配的订单日期,如果某个客户没有订单,则订单日期将为NULL。
3、右连接(RIGHT JOIN):返回右表中的所有行,即使左表中没有匹配的行。
语法:
SELECT column1, column2, ... FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;
示例:
SELECT customers.name, orders.order_date FROM customers RIGHT JOIN orders ON customers.customer_id = orders.customer_id;
这将返回所有订单的订单日期以及与之匹配的客户名称,如果某个订单没有客户,则客户名称将为NULL。
4、全连接(FULL JOIN):返回左表和右表中的所有行,无论是否有匹配的行,如果没有匹配的行,则结果中的值为NULL。
语法:
SELECT column1, column2, ... FROM table1 FULL JOIN table2 ON table1.column = table2.column;
示例:
SELECT customers.name, orders.order_date FROM customers FULL JOIN orders ON customers.customer_id = orders.customer_id;
这将返回所有客户的名称以及与之匹配的订单日期,如果某个客户没有订单,或者某个订单没有客户,则相应的值将为NULL。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/503078.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复