数据库SQL语句~四表连接(left join)

本文深入解析了LEFTJOIN关键字在SQL查询中的作用,通过具体示例展示了如何使用LEFTJOIN从多个表中提取数据,即使在右表中没有匹配项也能确保左表的所有记录被包含。文章以学生、课程、分数及教师四个表为例,演示了如何进行复杂的数据联接操作。

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

LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2 
ON table_name1.column_name=table_name2.column_name

注释:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。

1.student表

select * from student      /*SNO学号、SNAME姓名、 SBIRTHDAY出生年月、SCLASS班级 */

2.course表

select * from course       /*CNO课程号、CNAME课程名、TNO教工编号 */

3.score表

select * from score         /* SNO学号、CNO课程号、DEGREE 成绩*/

4.teacher表

select * from teacher           /*TNO教工编号、TNAME教工姓名、TSEX教工性别 、TBIRTHDAY教工出生年月、PROF职称、DEPART教工所在单位*/


SELECT student.sname 学生姓名,student.ssex 学生性别,student.sbirthday 学生出生年月,student.sclass 学生班级,
score.degree 成绩,
course.cname 课程名称,
teacher.tname 教工姓名,teacher.tsex 教工性别 ,teacher.prof 教工职称,teacher.depart 教工所在单位
FROM student
left join score on student.sno=score.sno
left join course on course.cno=score.cno
left join teacher on teacher.tno=course.tno
order by student.sno

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值