温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么在数据库中使用JOIN

发布时间:2021-05-26 09:29:33 来源:亿速云 阅读:144 作者:Leah 栏目:数据库

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

Join

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

Join 分为:

  • 内连接(inner join)

  • 外连接(outer join)

其中外连接分为:

  • 左外连接(left outer join)

  • 右外连接(right outer join)

  • 全外连接(full outer join)

说明:

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

笛卡尔积

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

我们以下面两张表举例:

学生表(Student)

IDStudentNameStudentClassID
1小明1
2小红2
3小兰3
4小吕2
5小梓1

班级表(Class)

ClassIDClassName
1软件一班
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。

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI