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