天天看點

多表查詢資訊

## 多表資訊查詢 ##

多表的資訊的查詢涉及到第三方表的建構,一般來說會把兩個目标表的主鍵作為這個第三方表的聯合外鍵進行設定,并添加外限制。現如果想進行多表查詢如查詢教師編号為XX的所有的學生的資訊,就可以使用

該操作的前提是資料庫中已經按照規則設計好了資料庫表。

這句SQL語句的含義如下:

先是<code>select * from teacher_student where teacher_id =?</code>

然後給teacher_student取個别名,友善後續的操作,即<code>select * from teacher_student ts where ts.teacher_id = ?</code>

再就是怎麼将兩個表聯系起來的實作,即<code>select * from teacher_student ts ,student s where ts.teacher_id = ?</code>

這樣仍然是不夠的,要想取出學生資料還應還進一步限制,即<code>select * from teacher_student ts ,student s where ts.teacher_id = ? and ts.student_id = s.id</code>

這樣就結束了嗎?不,上面那個sql語句獲得的是兩個表的聯合結果,要想獲得學生資訊,還應該進一步的對sql語句進行優化。即<code>select s.* from teacher_student ts,student s where ts.teacher_id = ? and ts.student_id = s.id</code>,好了這樣就大功告成了。

至此,便可以簡單的從多對多的資料庫表中實作多表資訊查詢的功能。