数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
数据库中几个表之间的关联查询

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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

       如下为一个例子。

       表一。表名称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.2tb2不要建成如上的形式,在tb2里放置老师的基本信息。另外一个新表里头放置的老师的ID和老师管理学生ID的记录,如下:

新表:表名称tb3

teacherID

teacherManageStudent

3645221

3102079014

其中表2变成了

teacherID

teacherName

teacherMemo

3645221

刘刚

备注无

3645222

成昆

备注无

 




相关文章

相关软件