在數據庫操作中,有很多時候不是對某一個表進行數據庫操作,通常還會把其他表的字段的值也傳遞過來。不過這連個表不是沒有關系的。通常通過索引或者健關聯起來
如下為一個例子。
表一。表名稱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
成昆