中幾個表之間的關聯查詢

2021-06-16 01:00:52 字數 1210 閱讀 3066

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

如下為乙個例子。

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