1. 程式人生 > >MySQL查詢之關系查詢

MySQL查詢之關系查詢

image 技術分享 得到 技術 title 建立 left join mage 傳遞

技術分享圖片

技術分享圖片

連接查詢:select table_b.type,table_b.title,table_b.content,table_b.author from table_a left join table_b on table_a.type = table_b.type where table_a.id = 1;

子查詢: select type,title,content,author from table_b WHERE type = (SELECT type from table_a WHERE id = 1);

如果一個id對應多個type,則用 select type,title,content,author from table_b WHERE type in (SELECT type from table_a WHERE id = 1);

結果如下:

技術分享圖片

采用最普通的查詢(不采用關系表或中間表的形式),也可以得到相同的效果,如下:

SELECT * from table_b WHERE type = ‘a‘;

那為什麽還要花費如此大的力氣去建立一個關系表呢?

這兩種方式的不同點在於,第二種直接在詳情表中查詢所有為a類的記錄;而第一種則是通過參數id獲取到a類別,再到詳情表獲取所有a類的記錄

我個人認為原因可能有:1、加入關系表或中間表,能讓數據間的關系更加明確;2、前端傳遞過來的是一個id參數,後臺只通過此id參數去進行一系列的查詢,一定程度上保證了數據的安全性。

MySQL查詢之關系查詢