怎么在数据库中使用JOIN

34次阅读
没有评论

共计 1384 个字符,预计需要花费 4 分钟才能阅读完成。

自动写代码机器人,免费开通

怎么在数据库中使用 JOIN?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面丸趣 TV 小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

Join

相信大家在学习数据库的使用时,都有使用过 Join,对数据库中的两张或两张以上表进行连接操作。

Join 分为:

内连接 (inner join)

外连接 (outer join)

其中外连接分为:

左外连接 (left outer join)

右外连接 (right outer join)

全外连接 (full outer join)

说明:

1. 其中外连接的“OUTER”关键字可以省略不写。2. 内连接用于返回满足连接条件的记录;而外连接则是内连接的扩展,它不仅会满足连接条件的记录,而且还会返回不满足连接条件的记录。

笛卡尔积

在我们进行多表联合查询的时候会出现的一种情况——笛卡尔积现象

我们以下面两张表举例:

学生表(Student)

IDStudentNameStudentClassID1 小明 12 小红 23 小兰 34 小吕 25 小梓 1

班级表(Class)

ClassIDClassName1 软件一班 2 软件二班 3 软件三班

当我们进行查询操作的时候:

select * from Student,Class;

怎么在数据库中使用 JOIN

就会出现上面的情况,也就是笛卡尔现象,表 Student 中有 5 条记录,表 Class 中有 3 条记录,那么对于表 Student 而言有 5 种选择,对于表 Class 来说有 3 种选择。所以一共有 5 * 3 = 15 种选择了,也就是笛卡尔积。

内连接——inner join

内连接查询返回满足条件的所有记录,默认情况下没有指定任何连接则为内连接。例如:查询 xx 学生在 xx 班级 沿用上面的数据表

select stu.StudentName,cl.ClassName from Student stu inner join Class cl on stu.StudentClassID=cl.ClassID;

查询结果

怎么在数据库中使用 JOIN

左外连接——left join

左外连接查询不仅返回满足条件的所有记录,而且还会返回不满足连接条件的连接操作符左边表的其他行。我们在原 Student 表中新增学生:小美  

怎么在数据库中使用 JOIN

例如:查询 xx 学生在 xx 班级 沿用上面的数据表

select stu.StudentName,cl.ClassName from Student stu left join Class cl on stu.StudentClassID=cl.ClassID;

查询结果

右外连接——right join
右外连接查询不仅返回满足条件的所有记录,而且还会返回不满足连接条件的连接操作符右边表的其他行。我们在原 Class 表中新增班级:

怎么在数据库中使用 JOIN

软件四班

  例如:查询 xx 学生在 xx 班级 沿用上面的数据表

select stu.StudentName,cl.ClassName from Student stu right join Class cl on stu.StudentClassID=cl.ClassID;

查询结果

怎么在数据库中使用 JOIN

全连接——full join

全连接查询不仅返回满足条件的所有记录,而且还会返回不满足连接条件的其他行。

注:mysql 默认不支持 full join。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注丸趣 TV 行业资讯频道,感谢您对丸趣 TV 的支持。

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计1384字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)