数据库内连接与外连接(自我理解--深刻)

本文解析了数据库内连接与外连接的概念及应用,通过实例说明如何消除笛卡尔积,实现一一对应,介绍了左连接与右连接的区别及其SQL语句的写法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库内连接

INNER JOIN

数据库内连接限制较多,要求连接的关系表之间必有一一行对应关系,不然容易出现一对多产生长幅数据表,如下图:
笛卡尔积
要求每位学生选择一门课程,则两表匹配后会出现sx关系表情况,事实上匹配结果已经超出逻辑范围。
如若学生id对应选课表内课程id,且作为匹配条件,即可消除笛卡尔积,实现一一对应。
SQL语句是:

select s.id,s.name,x.id,x.course from student s inner join course x on s.id=x.id;

SQL语句中,为了便于区分各表格标签,使用了表别名s,x。

外连接

左连接、右连接

左连接与右连接是对应关系,意在规定主表位置,连接时以主表为连接依据,如若从表没有对应数据则以null值连接表示
左表学生表为主表

语句为

SELECT s.SName,c.CourseID,c.Score FROM Student s LEFT JOIN Score c ON s.SCode=c.StudentsID;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值