SQL SELECT INTO
SQL INNER JOIN 

SQL JOIN

SQL 中的 JOIN 是用于将多个表中的行联合起来,根据它们之间的关联条件进行匹配。JOIN 是 SQL 查询中非常常用和重要的一部分,它可以让我们从多个表中获取需要的数据,并在查询结果中将相关数据结合起来。


基本的 JOIN 类型

在 SQL 中,常见的 JOIN 类型包括:

1、INNER JOIN(内连接):

  • 返回两个表中的符合连接条件的行。

  • 使用 ON 关键字指定连接条件。

SELECT columns
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;


2、LEFT JOIN(左外连接):

  • 返回左表中所有行,以及右表中符合连接条件的行(如果没有匹配的行,用 NULL 值填充)。

  • 使用 LEFT JOIN 或 LEFT OUTER JOIN。

SELECT columns
FROM table1
LEFT JOIN table2 ON table1.column_name = table2.column_name;


3、RIGHT JOIN(右外连接):

  • 返回右表中所有行,以及左表中符合连接条件的行(如果没有匹配的行,用 NULL 值填充)。

  • 使用 RIGHT JOIN 或 RIGHT OUTER JOIN。


SELECT columns
FROM table1
RIGHT JOIN table2 ON table1.column_name = table2.column_name;


4、FULL JOIN(全外连接):

  • 返回左表和右表中所有行,如果某行在一个表中没有匹配的行,则用 NULL 值填充。

  • 使用 FULL JOIN 或 FULL OUTER JOIN。



连接条件(ON 和 WHERE)

  • ON 关键字用于指定连接条件,它通常在 JOIN 子句中使用。

  • WHERE 子句可以用来进一步筛选连接后的结果。

SELECT columns
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name
WHERE condition;


多表连接

可以连接多个表,通过多个 JOIN 子句将它们连接起来。连接的顺序和条件非常重要,通常应根据业务逻辑和性能考虑选择合适的连接顺序。

  • SELECT columns

  • FROM table1

  • INNER JOIN table2 ON table1.column_name = table2.column_name

  • INNER JOIN table3 ON table2.another_column = table3.column_name;



性能注意事项

  • 使用适当的索引来优化连接操作,特别是对于大型表和复杂查询。

  • 注意连接的顺序和条件,以避免不必要的性能问题。


通过理解和灵活运用 JOIN,可以更有效地从多个相关联的表中获取所需的数据,是 SQL 查询中非常重要的技术之一。