数据库表连接之左连接(LEFT JOIN)、右连接(RIGHT JOIN)和内连接(INNER JOIN)

本文深入探讨了数据库表连接中的三种类型:左连接(LEFT JOIN)、右连接(RIGHT JOIN)和内连接(INNER JOIN)。通过实例,展示了SQL语句的使用、执行结果,并对每种连接方式进行了详细解释,帮助理解不同连接在数据查询中的作用。

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

        现在有两张表,计算机学院学生表和选课表,表的结构如图所示:

Student

SCourse

       为了更加直观的解释,先以上述两张表为基础执行相应的SQL语句,再进行解释。

左连接(LEFT JOIN)

    SQL语句

SELECT * FROM Student LEFT JOIN SCourse ON Student.SNumber = SCourse.SID

    执行结果


    详细解释

    LEFT JOIN首先取出的是主表的所有记录,在这个例子中也就是Student表的所有记录,然后按ON后面的条件进行连接,满足条件则把附表的相应记录加到主表的相应记录中,若没有满足条件的则相应字段为Null,也就是上图的结果。

右连接(RIGHT JOIN)

    SQL语句

SELECT * FROM Student RIGHT JOIN SCourse ON Student.SNumber = SCourse.SID

    执行结果


    详细解释

    RIGHT JOIN首先取出的是也是主表的所有记录,在这个例子中是SCourse表的所有记录,然后按ON后面的条件进行连接,满足条件则把附表的相应记录加到主表的相应记录中,若没有满足条件的则相应字段为Null,也就是上图的结果。

内连接(INNER JOIN)

    SQL语句

SELECT * FROM Student INNER JOIN SCourse ON Student.SNumber = SCourse.SID

    执行结果


    详细解释

    INNER JOIN不以哪个表为主表,只连接满足条件的记录。它就等价于:

SELECT * FROM Student, SCourse WHERE Student.SNumber = SCourse.SID


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值