MySQL 外部聯結 內連線 左右外連線辨析

2022-09-02 04:48:12 字數 828 閱讀 8174

在進行跨表內連線查詢資料時,查詢結果只返回符合查詢條件的資料;

跨表內連線查詢的結果和使用where的多表查詢結果相同,其實就是普通的查詢,沒啥好說的

-- 語法:

select 別名1.欄位名1,別名2.欄位名2

from 庫名.表名1 [as] 別名1

inner join 庫名.表名2 [as] 別名2

on 別名1.欄位名3=別名2.欄位名3;

這類情況聯結包含了那些在相關表中沒有關聯行的行,這種型別的聯結就叫外部聯結

對於這個簡單的內部聯結:檢索所有客戶及其訂單

1

select

customers.cus_id, orders.order_num

2from

customers

3inner

join

orders

4on customers.cus_id=orders.cus_id

若用外部聯結,即可為了檢索所有客戶,包括那些沒有訂單的客戶

select

customers.cus_id, orders.order_num

from

customers

left

outer

join

orders

on customers.cus_id=orders.cus_id

它們之間唯一的差別就是所關聯的表的順序不同。實際上,左連線可以通過from或where子句中表的順序轉換為右外連線,因此,兩種型別的外部連線可以互換使用,用哪一種純粹是看誰更方便

MySQL 內 左右連線及外來鍵

1.建立外來鍵 新增外來鍵約束可以保證資料的有效性和完整性。這個是 在表a中的字段x向表b中的字段y建立外來鍵。1.向表新增外來鍵 alter table 表a add foreign key 表a 欄位x references 表b 欄位y 2.在建立表的時候增加主鍵約束 create table...

內連線與外連線(左右)的區別

資料庫 內連線與外連線 內連線是獲取兩個表的公共部分c,其中乙個表的id是另外乙個表的連線字段 select from a,b where a.aid b.bnameid與select from a join b on a.aid b.bnameid 的執行結果是一樣的。外連線 分為左連線和右連線 ...

mysql的左 右 內連線

學生表 student 教室表 class 查詢每個學生屬於那些班級的 如果student表中有個 劉繼元是5班的 那麼這個時候就在class表就沒有滿足條件的記錄,則對應出為空。查詢結果如下 student有 class有 正常展示 student有 class無 student全部展示,clas...