1. 程式人生 > >mysql多表查詢

mysql多表查詢

mysql 查詢

1、並(union)

“並”就是把具有相同字段數目和字段類型的表合並到一起

2、笛卡爾積

笛卡爾積就是沒有連接條件表關系的返回的結果

3、內連接(inner join)

針對數據庫操作的運算提供了一個專門的函數JOIN。連接就是在表關系的笛卡爾積數據記錄中,按照相應字段值的比較條件選擇生成一個新的關系。連接又分為內連接(INNER JOIN)、外連接(OUTER JOIN)、交叉連接(CROSS JOIN)

內連接是保留表關系中所有匹配的數據記錄,舍棄不匹配的數據記錄。按照匹配的條件可以分成自然連接、等值連接和不等連接。

3.1 自然連接(NATURAL JOIN)

自然連接是表關系的笛卡爾積中,首先根據表關系中的相同名稱的字段自動進行記錄匹配,然後去掉重復的字段。

其特點如下:

@會自動判斷相同名稱的字段,然後進行數據值的匹配,去掉相同字段不相等記錄;

@在執行自然連接的新關系中,雖然可以指定包含哪些字段,但是不能指定執行過程中的匹配條件;

@在執行完自然條件的新關系中,所匹配的字段名只有一個,即會去掉重復字段。
3.2 等值連接

所謂等值連接就是表關系的笛卡爾積中,選擇所匹配字段值相等(=符號)的數據記錄,它與自然連接相比,等值連接關系數據操作需要在執行過程中的用“符號=”指定匹配條件,新關系中不會去掉重復字段。

3.3 不等連接

不等連接是表關系的笛卡爾積中,選擇所匹配字段值不相等(!=符號)的數據記錄。

4、外連接(OUTER JOIN)

外連接是表關系的笛卡爾積數據記錄著,不僅保留表關系中所有匹配的數據記錄,而且還會保留部分不匹配的數據記錄。按照保留不匹配條件數據記錄來源可以分為左外連接

(LEFT OUTER JOIN)、右外連接(RIGHT OUTER JOIN)和全外連接(FULL OUTER JOIN)

4.1 左外連接

左外連接操作就是表關系的笛卡爾積中,除了選擇相匹配的數據記錄,還包含左邊表中不匹配的數據記錄

4.2 右外連接

右外連接是表關系的笛卡爾積中,除了選擇匹配的數據記錄外,還包含了右邊表中不匹配的數據記錄。

4.3 全外連接

全外連接是表關系的笛卡爾積中,除了選擇相匹配的數據記錄,還包含了左右兩邊表中不匹配的數據記錄。


mysql多表查詢