SQL连接类型及使用方法完全指南

SQL Join 查询的种类

想对 SQL Join 查询的相关知识进行了解。

SQL Join 查询的种类

SQL 中的 Join 操作用于基于彼此之间的相关字段将两个或多个表的行结合起来。以下是主要的 Join 类型:

1. INNER JOIN(内连接)

  • 返回两个表中匹配条件的记录
  • 只包含在两个表中都存在的匹配数据
SELECT columns FROM table1 
INNER JOIN table2 ON table1.column = table2.column;

2. LEFT JOIN(左连接)

  • 返回左表中的所有记录,以及右表中匹配的记录
  • 如果右表没有匹配,则结果为 NULL
SELECT columns FROM table1 
LEFT JOIN table2 ON table1.column = table2.column;

3. RIGHT JOIN(右连接)

  • 返回右表中的所有记录,以及左表中匹配的记录
  • 如果左表没有匹配,则结果为 NULL
SELECT columns FROM table1 
RIGHT JOIN table2 ON table1.column = table2.column;

4. FULL JOIN(全连接)

  • 返回两个表中的所有记录,无论是否匹配
  • 如果没有匹配,则相应的结果为 NULL
SELECT columns FROM table1 
FULL JOIN table2 ON table1.column = table2.column;

5. CROSS JOIN(交叉连接)

  • 返回两个表的笛卡尔积(所有可能的组合)
  • 不需要连接条件
SELECT columns FROM table1 CROSS JOIN table2;

6. SELF JOIN(自连接)

  • 将表与自身连接
  • 需要为表指定不同的别名
SELECT columns FROM table1 t1 
JOIN table1 t2 ON t1.column = t2.column;

这些连接类型可以根据您的数据查询需求灵活使用,以获取所需的结果集。