資料庫的四種連線方式分別是:1、inner join內連線;2、outer join外連線;3、cross join交叉連線;4、natural join自然連線。
內連線 ---拼接查詢結果 內部有聯絡,使用內連線 格式: [inner] join ----inner可省
結果: 從左表中取出每一條記錄,去右表中與所有的記錄進行匹配; 匹配必須是某個條件是左表中與右表中相同,才會保留結果,否則不保留;
基本語法: 左表 [inner] join 右表 on 左表.欄位 = 右表.欄位;
注意事項:
1、on 表示連線條件;條件字段代表相同的業務含義 (如 stu.cid 和 cla.id) 學生stu表中的班級cid 和 班級cla表中的id
2、內連線可以沒有連線條件,沒有on之後的內容, 這時候系統會保留所有結果(笛卡爾集)
3、內連線可以使用where 代替 on 通常不用where,因為where沒有on效率高 on指匹配到第一條成功的就結束,其他不匹配; 若沒有,不進行匹配 而where會一直匹配,進行判斷
4、通常使用字段別名 表別名 在查詢資料的時候,不同表有同名字段, 這時候需要加上表名才能區分, 而若表名太長,使用表別名 若不想使用預設的欄位名 可以通過[as] 設定字段別名 。
外連線 --以某一張表為基表 進行相關查詢 outer join
結果:以某張表為主,取出裡面的所有記錄, 然後每條與另外一張表進行連線, 不管能不能匹配上條件,最終都會保留, 能匹配,正確保留; 不能匹配其他表的字段都置空null
分類:分為兩種 左連線,右連線 left join 左外連線---左連線,以左表為主 right join 右外連線---右連線,以右表為主
基本語法: 左表 left/right join 右表 on 左表.欄位 = 右表.欄位;------條件必須有
交叉連線 連線查詢 cross join:
交叉連線不帶where 子句,它返回被連線的兩個表所有資料行的笛卡爾積,
返回到結果集合中的資料行數等於第乙個表中符合查詢條件的資料行數乘以第二個表中符合查詢條件的資料行數。
自然連線 natural join 自然連線
就是系統自動匹配連線條件 系統以欄位名字作為匹配模式(同名字段作為字段,多個同名字段都作為條件)
自然連線:可以分為 自然內連線 和 自然外連線 內連線 natural left join 自然左外連線
其實:內連線和外連線都可以模擬自然連線,
使用同名字段,合併字段 左表 left/ right inner join 右表 on using(欄位名) -----使用同名字段,合併字段
--自然內連線 select * from stu natural join cla;
-自然左外連線 select * from stu natural left join cla;
--外連線模擬自然左外連線 select * from stu left join cla using(id);
mysql的四種連線方式 資料庫的四種連線方式
a表 b表 a.id同parent id 存在關係 1 內連線 相當於select a.b.from a,b where a.id b.id select a.b.from a inner join b on a.id b.parent id 結果是 2 左連線 左表的挨個資訊去查詢,查不到則將右邊...
系統轉換的方式有三種,分別是什麼?
系統轉換的方式有三種,分別是 1 直接轉換,在某一時刻終止現行系統4102,1653啟用新的管理資訊系統 2 並行轉換,新的管理資訊系統和現行系統並行工作一段時間,替代現行系統 3 分段轉換,分階段將新管理資訊系統的各個子系統替代現行系統。系統轉換的方式有三種,分別是 1 直接轉換 在確定新的管理資...
Oracle資料庫中表的四種連線方式講解
oracle資料庫中表的四種連線方式講解 表的連線是指在乙個sql語句中通過表與表之間的關連,從乙個或多個表中檢索相關的資料,大體上表與表之間的連線主要可分四種,分別為相等連線,外連線,不等連線和自連線,本文將主要從以下幾個典型的例子來分析oracle表的四種不同連線方式 1.相等連線 通過兩個表具...