要点概述
- SQL语句中的多表查询
一、例一:
有如下表格:
表1:
表2:
那么接下来开始提要求,要求查出表1的“姓名”列和表二中相对应的“班主任”列;首先找出他们之间存在的联系,可以看出他们有一个联系就是“班号”这一列。
代码如下:
select 姓名,班主任 from
学生表,班级表 where
学生表.班号=班级表.班号
二、例二:
有如下表格:
要求:直查看“姓名”所对应的“班主任”以及“系主任”
select 姓名,班主任,系主任 from 学生表
inner join 班级表 on 学生表.班号=班级表.班号
inner join 系表 on 班级表.系号=系表.系号
结果:
三、例三
进阶阶段:
查询学生学习哪些课程,课时数和成绩是多少,课程的任课教员和职称
学生表:
班级表:
课程表:
教师表:
系表:
选课表:
说一下,如果要说有什么难度的话,可能就是耗点时间找一下各表之间的关系了
select 学生表.姓名 as 学生姓名,课程名,课时,成绩 from 学生表
inner join 班级表 on 学生表.班号=班级表.班号
inner join 系表 on 班级表.系号=系表.系号
inner join 教师表 on 系表.系名=教师表.系名
inner join 课程表 on 教师表.教师编号=课程表.任课教师编号
inner join 选课表 on 课程表.课程编号=选课表.课程编号 order by 1
结果:
本文完…
后记
在这里,鄙人诚恳的向大家道歉,拿上面举得例子来说,其中inner join 函数的用法,小弟老是搞不明白,网上搜了很多东西,虽然写的也是很好,但描述的比较抽象,我也只是会用了而已,并不能说完全搞透了,小弟下去一定搞懂,让那些逻辑思维教差的同志也能很容易的就明白,或许这才是我写博客的理由吧,谢谢大家的支持