菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
177
0

数据库SQL语言学习----左外连接,右外连接,外连接,自然连接的形象对比

原创
05/13 14:22
阅读数 83110

现在有两张表,一张Student

另一张Score

 

 

1、查询每个学生及其选修课程的情况;

自然连接,Sno在Cscore中找不到就不显示,Cno在Cscore中找不到也不显示

SELECT Student.*,Score.* 
FROM Student,Score 
WHERE Student.Sno=Score.Sno;

 

 

2、查询每个学生及其选修课程的情况; (包括没有选修课程的学生);

学生的Sno在Score中没有时,则课程Cscore补上NULL。

左外连接,以左Student为主,不足补NULL。

SELECT *
FROM Student
LEFT OUTER JOIN Score ON (Student.Sno = Score.Sno);

 

3、查询每个学生及其选修课程的情况; (包括没有学生选的选修课程);

课程的Cno在Student中没有出现过,那么,相关列的Sno补齐NULL。

右外连接,以右Score为主,不足补NULL。

SELECT *
FROM Student
RIGHT OUTER JOIN Score ON (Student.Sno = Score.Sno);

 

4、查询每个学生及其选修课程的情况;(包括没有学生选的选修课程,包括没有选修课程的学生

外连接,Sno在Cscore中找不到就补齐NULL,Cno在Cscore中找不到也补齐NULL。

SELECT *
FROM Student
FULL OUTER JOIN Score ON (Student.Sno = Score.Sno);

 

发表评论

0/200
177 点赞
0 评论
收藏