外鍵
概念
用來通知數據庫兩張表,列和列 之間的對應關係,並且讓數據庫維護這個關係的鍵,就叫外鍵
假如現在有兩張表
此時CommandDetail表設置了外鍵,關聯到了Command表的id,所以,此時如果刪除Command表的牛仔褲或者毛衣,是無法刪除的,因爲CommandDetail中有數據與之關聯,數據庫自動幫我們維護了這個關係
多表查詢
select * from Command,CommandDEtail;//兩張表之間用逗號隔開
這種方式可以實現,但是會包含一些錯誤數據,也叫笛卡爾積查詢
關聯查詢
過濾上面的錯誤數據,保留正確的屬性對應的數據:這樣的話保留下來的只有兩個表中同時都有的數據
select * from Command,CommandDEtail where Command.id=CommandDetail.id;
左外連接查詢和右外連接查詢
select * from Command left join CommandDetail on Command.id=CommandDetail.id;
這裏做個解釋:表一 left join 表二 on 條件 這時候表一查詢出來的是全部數據
select * from Command right join CommandDetail on Command.id=CommandDetail.id;
這裏做個解釋:表一 right join 表二 on 條件 這時候表二查詢出來的是全部數據
表關係
一對多:班級對學生,一個班級可以有多個學生,一個學生只能屬於一個班級;
多對一:上面的反過來;
一對一:班級對教室;
多對多:學生對老師,學生可以有多個老師,老師可以教多個學生