在資料庫操作中,有很多時候不是對某乙個表進行資料庫操作,通常還會把其他表的字段的值也傳遞過來。不過這連個表不是沒有關係的。通常通過索引或者健關聯起來
如下為乙個例子。
表一。表名稱tb1.其中studentid為主索引。外健。
studentid
studentname
studentgender
studntage
3102079014
劉永相男
253102079015
趙某某男
23表二。表名稱tb2.其中teacherid為主索引。外健。
teacherid
teachername
teachermanagestudent
teachermemo
3645221
**3102079014
備註無3645222
成崑3102079015
備註無現在有乙個查詢,需要知道某乙個老師管理的學生的名字。由表二可以知道老師**管理的是3102079014這個學生,又由表1知道3102079014這個學生的名稱為劉永相。怎麼寫這個查詢語句呢?
如下:sql=」selecttb2.teachername,tb1.studentnamefortb2,tb1wheretb2.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
成崑備註無
資料庫中幾個表之間的關聯查詢
在資料庫操作中,有很多時候不是對某乙個表進行資料庫操作,通常還會把其他表的字段的值也傳遞過來。不過這連個表不是沒有關係的。通常通過索引或者健關聯起來 如下為乙個例子。表一。表名稱tb1.其中studentid為主索引。外健。studentid studentname studentgender st...
多表之間關聯查詢
內連線 jion on 自連線本表進行內連線的查詢形式 左鏈結 寫法 select 字段 from 表1 t left join 表2 s on t.欄位1 s.欄位1 where 條件 或者作用 保證左邊的表的資料全部顯示,包括空的 右鏈結寫法 selec 字段 from 表1 t right j...
表關聯查詢
一 內連線和外連線 內連線用於返回滿足連線條件的記錄 而外連線則是內連線的擴充套件,它不僅會滿足連線條件的記錄,而且還會返回不滿足連線條件的記錄,語法如下 oracle 1.select table1.column,table2.column from table1 inner left right...