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)
外連接是表關系的笛卡爾積數據記錄著,不僅保留表關系中所有匹配的數據記錄,而且還會保留部分不匹配的數據記錄。按照保留不匹配條件數據記錄來源可以分為左外連接
4.1 左外連接
左外連接操作就是表關系的笛卡爾積中,除了選擇相匹配的數據記錄,還包含左邊表中不匹配的數據記錄
4.2 右外連接
右外連接是表關系的笛卡爾積中,除了選擇匹配的數據記錄外,還包含了右邊表中不匹配的數據記錄。
4.3 全外連接
全外連接是表關系的笛卡爾積中,除了選擇相匹配的數據記錄,還包含了左右兩邊表中不匹配的數據記錄。
mysql多表查詢