首页 > 开发 > 综合 > 正文

数据库中几个表之间的关联查询

2024-07-21 02:08:08
字体:
来源:转载
供稿:网友

商业源码热门下载www.html.org.cn


   在数据库操作中,有很多时候不是对某一个表进行数据库操作,通常还会把其他表的字段的值也传递过来。不过这连个表不是没有关系的。通常通过索引或者健关联起来

       如下为一个例子。

       表一。表名称tb1.其中studentid为主索引。外健。

studentid

studentname

studentgender

studntage

3102079014

刘永相



25

3102079015

赵某某



23

       表二。表名称tb2.其中teacherid为主索引。外健。

teacherid

teachername

teachermanagestudent

teachermemo

3645221

刘刚

3102079014

备注无

3645222

成昆

3102079015

备注无

       现在有一个查询,需要知道某一个老师管理的学生的名字。由表二可以知道老师刘刚管理的是3102079014这个学生,又由表1知道3102079014这个学生的名称为刘永相。怎么写这个查询语句呢?

       如下:

       sql=”select tb2.teachername,tb1.studentname for tb2,tb1 where tb2.teachermanagestuent=tb1.studentid”

       出来的结果为:

teachername

studentname

刘刚

刘永相

       可能读者马上就会产生一个疑问,在表2里头。teacherid作为索引,必然只有唯一的一个id记录。那么我怎么来管理所有的学生呢?

       由两个处理的方法。1:在teachermanagestudent字段里头把所有的学生的id都录进去。中间用!或者其他符号表示出来,在后面的sql生成的时候,用一个循环来不断地把所有的学生得id都写入sql.:2:tb2不要建成如上的形式,在tb2里放置老师的基本信息。另外一个新表里头放置的老师的id和老师管理学生id的记录,如下:

新表:表名称tb3

teacherid

teachermanagestudent

3645221

3102079014

其中表2变成了

teacherid

teachername

teachermemo

3645221

刘刚

备注无

3645222

成昆

备注无

 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表