關聯關系
-
創建表時, 表和表之間存在的業務關系
-
有哪幾種關系?
-
一對一: 有AB兩張表,A表中的一條數據對應B表中的一條數據, 同時B表中的一條數據也對應A表中的一條.
-
一對多:有AB兩張表,A表中的一條數據對應B表中的多條數據, 同時B表中的一條數據對應A表中的一條.
-
多對多:有AB兩張表,A表中的一條數據對應B表中的多條數據, 同時B表中的一條數據也對應A表中的多條.
-
-
表和表之間如何建立關系?
-
通過一個單獨的字段指向另外一張表的主鍵
-
一對一的關系: 有AB兩張表,在任意一張表中添加字段指向另外一個表的主鍵
-
一對多的關系: 有AB兩張表,在一對多的關系中,多的一端添加一個單獨字段指向另外一張表的主鍵
-
多對多的關系: 有AB兩張表 還需要創建一個單獨的關系表,里面兩個字段分別指向另外兩張表的主鍵
-
關聯查詢
-
等值連接
-
內連接
-
外連接
等值連接:求兩張表數據的交集信息
格式:select 字段信息 from 表1 別名1,表2 別名2 where 連接條件(關聯關系) and 其他條件(沒有時可省略and之后的內容);
注意:重復的字段信息要用別名.加以區分。
內連接:求兩張表數據的交集信息(推薦)
格式:select 字段信息 from 表1 別名1 join 表2 別名2 on 連接條件(關聯關系) where 其他條件(沒有時可省略where之后的內容);
注意:重復的字段信息要用別名.加以區分。
總結:等值連接和內連接查詢到的數據是一樣的,都是兩個表的交集數據,只是書寫格式不一樣,推薦使用內連接。
外連接:如果查詢的是一張表的全部和另外一張表的交集,使用外連接。
格式:select 字段信息 from 表1 別名1 left/right join 表2 別名2 on 連接條件(關聯關系) where 其它條件(沒有時可省略where之后的內容);
注意:
-
重復的字段信息要用別名.加以區分;
-
left/right分別側重於查詢左/右表的全部信息與另一個表的交集信息,沒有時用null作為結果。