示例數據:sql
所謂鏈接就在表關係的笛卡兒積數據記錄中,按照相應字段值的比較條件進行選擇生成一個新的關係。鏈接分爲內鏈接(INNER JOIN)、外鏈接(OUTER JOIN)、交叉鏈接(CROSS JOIN).code
天然鏈接(NATURAL JOIN):天然鏈接操做就是表關係的笛卡兒積中, 根據表關係中相同名稱的字段自動進行記錄匹配(同名字段值相等),而後去掉重複的字段。blog
等值鏈接:等值鏈接操做就是表關係的笛卡兒積中,選擇所匹配字段值相等(=符號)的數據記錄。it
不等鏈接:不等鏈接操做就是表關係的笛卡兒積中, 選擇所匹配字段值不相等(!-符號)的數據記錄。io
所謂外鏈接(OUTER JOIN),就是在表關係的笛卡兒積數據記錄中,不只保留表關係中全部匹配的數據記錄,並且還會保留部分不匹配的數據記錄。按照保留不匹配條件數據記錄來源能夠分爲左外鏈接(LEFT OUTER JOIN)、右外鏈接(RIGHT OUTER JOIN)和全外鏈接(FULL OUTER JOIN)。table
左外鏈接操做就是表關係的笛卡兒積中,除了選擇相匹配的數據記錄,還包含關聯左邊表中不匹配的數據記錄。 (右表不存在的字段爲null)class
右外鏈接操做就是表關係的笛卡兒積中,除了選擇相匹配(相等)的數據記錄,還包含關聯右邊表中不匹配的數據記錄。(左表不存在的字段爲null)效率
全外鏈接操做就是表關係的笛卡兒積中,除了選擇相匹配(相等)的數據記錄,還包含關聯左右兩邊表中不匹配的數據記錄。 (左右表不存在的字段爲null)軟件
一種方式在FROM子句中利用逗號 (,)區分多個表,在WHERE子句中經過邏輯表達式來實現匹配條件,從而實現表的連;語法
SELECT fieldl field2...fieldn FROM join_tablenamel , join_tablename2 【 , join_tablenamen】 WHERE join_condition
另外一種是ANSI鏈接語法形式,在FROM子句中使用"JOIN...ON"關鍵字,而鏈接條件寫在關鍵字ON子句中, MySQL軟件推薦使用ANSI語法形式的鏈接。
SELECT fieldl field2...fieldn FROM join_tablenamel JOIN join_tablename2 【 JOIN join_tablenamen】 ON join_condition
fieldn表示所要查詢的字段名字,
join_tablename1和 join_tablename2表示所鏈接的表
join_condition 標識過濾條件
多張表用多個JOIN關聯
自鏈接就是指表與其自身進行鏈接 。
等值鏈接就是在關鍵字ON後的匹配條件中經過等於關係運算符(=)來實現等值條件。
不等鏈接就是在關鍵字ON後的匹配條件中經過除了等於關係運算符來實現不等條件外,能夠使用的關係運算符包含「>"、">="、「<"、「<"和「1」等運算符號。
**** 碼字不易若是對你有幫助請給個關注****
**** 愛技術愛生活 QQ羣: 894109590****