在SQL中,JOIN用于将两个或多个表中的数据组合在一起。以下是四种常见的JOIN方式:
INNER JOIN(内连接):
内连接返回两个表中匹配的行。它只返回两个表中关联键匹配的行。语法如下:
sql
SELECT 列名 
FROM 表1 
INNER JOIN 表2 
ON 表1.列名 = 表2.列名;
例如,有两个表:Customers(顾客)和 Orders(订单)。顾客表包含顾客信息,订单表包含订单信息。两个表都有一个共同的列 CustomerID(顾客ID),用于关联顾客和订单。使用内连接可以将顾客表和订单表关联起来,基于顾客ID的匹配返回顾客和其对应的订单信息。
LEFT JOIN(左连接):
左连接返回左表中的所有行,以及右表中与左表匹配的行。如果右表中没有匹配的行,则返回NULL值。语法如下:
sql
SELECT 列名 
FROM 表1 
LEFT JOIN 表2 
ON 表1.列名 = 表2.列名;
在上述示例中,使用左连接可以将顾客表和订单表关联起来,返回所有顾客信息以及其对应的订单信息(如果有的话)。对于没有订单的顾客,订单信息将显示为NULL。
RIGHT JOIN(右连接):
右连接与左连接相反,返回右表中的所有行以及左表中与右表匹配的行。如果左表中没有匹配的行,则返回NULL值。语法如下:
sql
SELECT 列名 
FROM 表1 
RIGHT JOIN 表2 
ON 表1.列名 = 表2.列名;
在上述示例中,使用右连接将顾客表和订单表关联起来,返回所有订单信息以及其对应的顾客信息(如果有的话)。对于没有顾客的订单,顾客信息将显示为NULL。
FULL JOIN(全连接):
全连接返回左表和右表中的所有行。如果某一边没有匹配的行,则对应列的值将显示为NULL。语法如下:
sql
SELECT 列名 
FROM 表1 
FULL JOIN 表2 
ON 表1join on是什么连接