等值连接_笛卡尔积、等值连接、自然连接、外连接一文看懂

本文详细介绍了数据库连接操作,从笛卡尔积开始,讨论了等值连接、自然连接和外连接(左外和右外连接)的概念,并通过学生表和分数表的例子展示了不同连接方式的结果。等值连接基于特定条件连接表,自然连接则去除重复列,外连接保留了没有匹配项的元组,丰富了查询结果的信息。
摘要由CSDN通过智能技术生成

0x01、笛卡尔积笛卡尔积的元素是元组,关系A和B的笛卡尔积可以记为(AXB),如果A为a目,B为b目,那么A和B的笛卡尔积为(a+b)列的元组集合。(1)学生表和分数表中的信息:学生表: 分数表(大概就是这个样子):(2)学生表和分数表执行笛卡尔积后:

SELECT * FROM student JOIN score

可以看出,执行sql语句后,student表中的每一条语句分别与score表中的每一条语句连接。0x02、内连接内连接又称为普通连接或自然连接。在说自然连接之前,应该先说一下连接的概念,连接是从笛卡尔积中选取属性间满足一定条件的元组。连接运算又可以分为等值连接和自然连接。(1)等值连接当条件为“=”的连接为等值连接,是连接属性值相等的那些元组。其结果是连接的表的所有列,包括重复列。还是运用上面的学生表和分数表:执行以下语句(隐式内连接)过滤掉没有用的元组,保留想要的有意义的元组。

SELECT * FROM student, score WHERE student.studentno=score.studentno

或者(显式内连接)

SELECT * FROM student INNER JOIN score ON student.studentno=score.studentno

即:只有学生表的学号属性和分数表的学号属性相等的时候才会将表中的两个元组相连,与笛卡尔积相比,等值连接添加了限制条件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值