数据库中实现多表查询的例子 不指定

Heck post in 数据库 2010/08/31 13:05 评论(0) 阅读(1397) | |
      一直有很多朋友问我多表查询的方法smile,今天,天空下的雨就给初学数据库的朋友讲一下数据库多表查询的简单实现。不说废话了,直接例子吧。
例子:
数据库有三个表
学生表:student   选课表:lesson   成绩表:score
学生表[student]
id    name   les      
1     小糊      1
2     小猪      1
3     阿正      3
4     小飞      2

选课表[lesson ]
id    LName
1     软件
2     经济
3     管理

成绩表[score]
id     stuID    lesID    num
1       1           1        97
2       4           1        90
3       1           2        80
4       2           1        95
5       3           1        88
6       2           3        97
上面就是三张表的数据。
这时候,我们就需要把这些表中的数据联合起来查询。比如说学生的选课信息,我们可以这样写:


查询结果:
id name lName
1 小糊 软件
2 小猪 软件
3 阿正 管理
4 小飞 经济

两种方法是等效的,且匹配条件都为:学生表的les = 选课表的id ,结果才能正确显示。当我们连接两张数据表的时候,查询的方式是首先逐行扫描“学生表”中的信息,然后根据连接条件来决定此记录是否被检索,还有很多情况 自己可以试试,这里就不说了。AS 在SQL语句里是起一个别名的作用。
那么,我们要在同一页中显示三张表的的部分数据,我们又该如何连接呢? 看看下面的SQL语句吧



查询结果:
id   name   lName num
1   小糊       软件       97
2   小飞       软件       90
3   小糊       经济        80
4   小猪       软件       95
5   阿正       软件       88
6   小猪       管理       97
首先,根据上面两张表查询的方法。我们只要稍微修改下三张表之间的匹配条件即可。
两个匹配条件:学生表ID = 成绩表stuID , 选课表ID =  成绩表lesID 。
好了,就到这了。慢慢体会吧。 更多的方法请到网上搜索吧。



来源:Heck's Blog
地址:http://www.hecks.tk/sql-join-many-table/
转载时须以链接形式注明作者和原始出处及本声明,否则将追究法律责任,谢谢配合!
Tags: ,