連線查詢: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 表參照關係 MYSQL表關係
表關係 一 外來鍵 foreign key 作用 約束當前表的某列值必須取自於另一張表的主鍵列值 外來鍵所在的列稱之為 外來鍵列 外來鍵所在的表稱之為 外來鍵表 或 子表 被外來鍵列所引用的表稱之為 主表 或 主鍵表 語法 1.建立表的同時指定外來鍵 create table 字段 型別,const...
mysql 關係 MySQL之表關係
mysql表關係 一對多關係 一對多與多對一是乙個概念,指的是乙個實體的某個資料與另外乙個實體的多個資料有關聯關係。舉例,學校中乙個學 院可以有很多的學生,而乙個學生只屬於某乙個學院 通常情況下 學院與學生之間的關係就是一對多的關係,通過外來鍵關聯來實現這種關係。建立學院表 mysql create...
mysql 關係表 MySQL表關係的理解
關係型資料庫表之間存在各種各樣的聯絡,及一對多,多對一,多對多。這裡主要講下一對多,為什麼要建立表之間的關聯。一對多的定義 一對多關係 一對多關係是關聯式資料庫中兩個表之間的一種關係,該關係中第乙個表中的單個行可以與第二個表中的乙個或多個行相關,但第二個表中的乙個行只可以與第乙個表中的乙個行相關。一...