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;
AI 代码解读

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

SELECT Students.name, Scores.score
FROM Students
INNER JOIN Scores
ON Students.student_id = Scores.student_id;
AI 代码解读

2. LEFT JOIN(左连接)

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

语法:

SELECT columns
FROM table1
LEFT JOIN table2
ON table1.common_field = table2.common_field;
AI 代码解读

代码示例:

SELECT Students.name, Scores.score
FROM Students
LEFT JOIN Scores
ON Students.student_id = Scores.student_id;
AI 代码解读

3. RIGHT JOIN(右连接)

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

语法:

SELECT columns
FROM table1
RIGHT JOIN table2
ON table1.common_field = table2.common_field;
AI 代码解读

代码示例:

SELECT Students.name, Scores.score
FROM Students
RIGHT JOIN Scores
ON Students.student_id = Scores.student_id;
AI 代码解读

4. FULL OUTER JOIN(全外连接)

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

语法:

SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.common_field = table2.common_field;
AI 代码解读

代码示例:

SELECT Students.name, Scores.score
FROM Students
FULL OUTER JOIN Scores
ON Students.student_id = Scores.student_id;
AI 代码解读

注意事项

  • INNER JOIN 是最常用的 JOIN 类型,它只返回两个表中都有的行。
  • LEFT JOINRIGHT JOIN 允许你从任一侧获取所有行,即使另一侧没有匹配的行。
  • FULL OUTER JOIN 会返回所有行,无论是否有匹配,这可能会导致结果集中包含 NULL 值。
目录
打赏
0
1
2
0
1190
分享
相关文章
|
4月前
|
SQL
RIGHT JOIN
【11月更文挑战第07天】
55 3
|
4月前
|
SQL
INNER JOIN
【11月更文挑战第07天】
53 1
SQL中关于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where区别
SQL中关于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where区别
174 0
SQL中关于Join、Inner Join、Left Join、Right Join、Full Join、On、 Where区别
八、inner join 、left join、right join,优先使用inner join
八、inner join 、left join、right join,优先使用inner join
582 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
159 0
MySQL - LEFT JOIN、RIGHT JOIN、INNER JOIN、CROSS JOIN、FULL JOIN
MySQL - LEFT JOIN、RIGHT JOIN、INNER JOIN、CROSS JOIN、FULL JOIN
564 0
MySQL - LEFT JOIN、RIGHT JOIN、INNER JOIN、CROSS JOIN、FULL JOIN
SQL基础【十五、join、Inner join、Left join、Right join、Full join】
SQL基础【十五、join、Inner join、Left join、Right join、Full join】
199 0
SQL基础【十五、join、Inner join、Left join、Right join、Full join】