left join 和 join
时间: 2023-08-16 18:13:10 浏览: 54
左连接(left join)和内连接(join)是关系型数据库中常用的两种连接操作。
内连接(join)是通过匹配两个表之间的共同数据行来合并这两个表。它返回同时在两个表中都存在的数据行。内连接是连接操作的默认类型,通常可以省略关键字“join”。
左连接(left join)是连接操作的一种扩展形式,它返回左表中的所有数据行,以及与右表中匹配的数据行。如果右表中没有匹配的数据行,则返回 NULL 值。左连接使用关键字“left join”或“left outer join”。
简单来说,内连接只返回两个表中共同存在的数据行,而左连接除了返回共同存在的数据行外,还会返回左表中没有匹配到的数据行(用 NULL 值填充)。
示例:
假设我们有两个表:订单表(orders)和客户表(customers)。订单表包含订单信息,客户表包含客户信息。我们想要查询所有订单以及对应的客户信息。
使用内连接:
SELECT orders.order_id, customers.customer_name
FROM orders
JOIN customers ON orders.customer_id = customers.customer_id;
使用左连接:
SELECT orders.order_id, customers.customer_name
FROM orders
LEFT JOIN customers ON orders.customer_id = customers.customer_id;
在上述示例中,内连接只返回订单和客户表中共同存在的数据行,而左连接则返回所有订单以及对应的客户信息,如果没有对应的客户信息,则返回 NULL 值。