SQL语句当中比较难的部分就有今天要给朋友们分享的这个,inner join, left join 和 right join他们三个的作用以及区别是什么。
顺便也会把交叉连接一起分享了。
上面会分享一些基本的语法与使用,下方会详细介绍
1)交叉连接,又称笛卡尔积
SELECT * FROM tb1 CROSS JOIN tb2;
// 简写
SELECT * FROM tb1,tb2;
2)内连接
// 语法
SELECT some_columns
FROM table1
INNER JOIN table2
ON some conditions;
// 实操:
// 示例:根据学生基本信息登记表tb_student和学生表tb_score,使用内连接查询每个学生及其选课成绩的详细信息。
SELECT * FROM tb_student
INNER JOIN tb_score
ON tb_student.studentNo=tb_score.studentNo;
3)外连接
1、左外连接:在FROM子句中使用关键字LEFT OUTER JOIN 或 LEFT JOIN。
2、右外连接:在FROM子句中使用关键字 RIGHT OUTER JOIN 或 RIGHT JOIN。
// 实操:
// 示例:根据学生基本信息登记表tb_student和学生表tb_score,使用内连接查询每个学生及其选课成绩的详细信息。
SELECT * FROM tb_student
LEFT JOIN tb_score
ON tb_student.studentNo=tb_score.studentNo;
4)内连接与外连接的区别是什么?左外连接和右外连接的区别是什么?
内连接和外连接的区别:
内连接:inner join等值连接) 只返回两个表中联结字段相等的数据
外连接:返回包括左/右表中的所有记录和右/左表中联结字段相等的记录
左外连接和右外连接的区别:
左外连接也称左连接。以左表为基表,在FROM子句中使用关键字“LEFT OUTER JOIN”或关键字“LEFT JOIN”来连接俩张表。
右外连接也称右连接。以右表为基表,在FROM子句中使用关键字“RIGHT OUTER JOIN”或关键字“RIGHT JOIN”来连接俩张表。
白话文:
1.内连接就是取交集的部分。
2.左连接就是左表全部的数据加上交集的数据。
3.右连接就是右表全部的数据加上交集的数据。
4.交叉连接就是全都要!
示例图: