INNER JOIN

简介: 【11月更文挑战第06天】

SQL JOIN 操作是数据库查询中非常重要的一部分,它允许你结合两个或多个表中的行。以下是各种 JOIN 类型的详细讲解和代码示例:

1. INNER JOIN(内连接)

INNER JOIN 返回两个表中匹配的行。只有当两个表中都有匹配的行时,结果中才会显示这些行。

语法:

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

代码示例:
假设有两个表,StudentsScores,它们通过 student_id 相关联。

SELECT Students.name, Scores.score
FROM Students
INNER JOIN Scores
ON Students.student_id = Scores.student_id;

2. LEFT JOIN(左连接)

LEFT JOIN 返回左表(第一个表)的所有行,即使右表(第二个表)中没有匹配的行。

语法:

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

代码示例:

SELECT Students.name, Scores.score
FROM Students
LEFT JOIN Scores
ON Students.student_id = Scores.student_id;

3. RIGHT JOIN(右连接)

RIGHT JOIN 返回右表(第二个表)的所有行,即使左表(第一个表)中没有匹配的行。

语法:

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

代码示例:

SELECT Students.name, Scores.score
FROM Students
RIGHT JOIN Scores
ON Students.student_id = Scores.student_id;

4. FULL OUTER JOIN(全外连接)

FULL OUTER JOIN 返回两个表中的所有行,无论它们是否匹配。如果某一侧没有匹配的行,结果将包含 NULL 值。

语法:

SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.common_field = table2.common_field;

代码示例:

SELECT Students.name, Scores.score
FROM Students
FULL OUTER JOIN Scores
ON Students.student_id = Scores.student_id;

注意事项

  • INNER JOIN 是最常用的 JOIN 类型,它只返回两个表中都有的行。
  • LEFT JOINRIGHT JOIN 允许你从任一侧获取所有行,即使另一侧没有匹配的行。
  • FULL OUTER JOIN 会返回所有行,无论是否有匹配,这可能会导致结果集中包含 NULL 值。
目录
相关文章
|
关系型数据库
INNER JOIN的使用
INNER JOIN的使用
82 0
|
13天前
|
SQL
OUTER JOIN
【11月更文挑战第08天】
24 2
|
14天前
|
SQL
RIGHT JOIN
【11月更文挑战第07天】
23 3
|
14天前
|
SQL
INNER JOIN
【11月更文挑战第07天】
22 1
|
1月前
|
关系型数据库 数据挖掘 数据库
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
45 2
|
1月前
|
关系型数据库 数据挖掘 数据库
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
53 1
|
关系型数据库 MySQL
inner join 、left join、right join,优先使用inner join
inner join 、left join、right join,优先使用inner join
|
SQL Cloud Native 关系型数据库
排除法,一个一个 join
排除法,一个一个 join
98 0
排除法,一个一个 join
|
关系型数据库 MySQL
八、inner join 、left join、right join,优先使用inner join
八、inner join 、left join、right join,优先使用inner join
458 0
inner join
INNER JOIN 关键字 在表中存在至少一个匹配时,INNER JOIN 关键字返回行。 INNER JOIN 关键字语法 SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name=table_name2.column_name 注释:INNER JOIN 与 JOIN 是相同的。 原始的表 (用在例子中的): "Persons" 表: Id_P LastName FirstName Address City 1 Adams John Oxford Street L
138 0