由于業務之間的相互關聯,所以各個表結構之間也存在著各種聯系
基本分為三種:
一對多
多對多
一對一
外鍵語法
create table 表名(
字段名 數據類型,
...
[constraint] 外鍵名稱 foreign key (外鍵字段名)references 主表名 (字段名)
);
--見完表以后,添加外鍵
alter table 表名 add constraint 外鍵名稱 foreign key (外鍵字段名) references 主表(字段名);
foreign key物理外鍵
注意 使用foreign key 定義外鍵關聯另一張表
缺點:
-
影響增、刪、改的效率
-
僅用于單節點數據庫,不適用與分布式、集群場景
-
容易引發數據庫死鎖問題,消耗性能
邏輯外鍵
概念:在業務層邏輯中,解決外鍵關聯
通過邏輯外鍵,就可以很方便的解決上述問題
內連接
隱式內連接:select 字段列表 from 表1,表2 where 條件...;
顯示內連接:select 字段列表 from [inner] join 表2 on 連接條件...;
外連接
左外連接:select 字段列表 from 表1 left [outer] join 表2 on 連接條件...;
右外連接:select 字段列表 from 表1 right [outer] join 表2 on 連接條件...;