如下為一個例子。
表一。表名稱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 from 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 |
成昆 |