程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 數據庫中幾個表之間的關聯查詢

數據庫中幾個表之間的關聯查詢

編輯:DB2教程

在數據庫操作中,有很多時候不是對某一個表進行數據庫操作,通常還會把其他表的字段的值也傳遞過來。不過這連個表不是沒有關系的。通常通過索引或者健關聯起來

如下為一個例子。

表一。表名稱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

成昆

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved