首先先准备一些数据
--E-R图
--学生(学号,姓名,性别,生日,班级,密码)
--课程(编号,课程)
--分数(学号,编号,分数)
(学生表:Student)
(课程表:KC)
(分数表:Coure)
很简单的三个表。。接着我们来用几种常见的连接方法把三张表连接在一起
*注意:三张表之间的关系
--将三张表整合到一起,显示全部信息
1:内连接
select Student.Sid,Student.sName,Student.sex,Student.Bir,Student.class,KC.kc,Coure.coure from
Student inner join Coure
on Student.Sid=Coure.Sid
inner join KC
on KC.Cid=Coure.Cid
2:自然连接
select a.Sid,a.sName,a.sex,a.Bir,a.class,b.kc,c.coure from
Student a,KC b,Coure c
where a.Sid=c.Sid and b.Cid=c.Cid
3:外连接(搜索出来非匹配行,搜索出来按方向显示)
--<1>左外连接
select Student.Sid,Student.sName,Student.sex,Student.Bir,Student.class,KC.kc,Coure.coure from
Student left outer join Coure
on Student.Sid=Coure.Sid
left outer join KC on
KC.Cid=Coure.Cid
--<2>右外连接
select Student.Sid,Student.sName,Student.sex,Student.Bir,Student.class,KC.kc,Coure.coure from
Student right outer join Coure
on Student.Sid=Coure.Sid
right outer join KC
on KC.Cid=Coure.Cid
区分几种连接之间的区别,已选择适当的时候选择适当的连接方法
表中数据齐全的话,那么以上几种连接方法显示的效果则一模一样。。如果(例如),KC 或者 Coure这个表中没有和Student中对应的数据的话,那么则可以看出外连接之间的区别)