基礎知識:
- 外連接分為兩種:left join、right join
- 外連接顯示的內容要比內連接多,是對內連接的補充
- left join的主表是左表,從表是右表;right join的主表是右表,從表是左表;
- 外連接會返回主表的所有數據,無論在從表是否有與之匹配的數據,若從表沒有匹配的數據則默認為空值(NULL)
圖解:
左鏈接和右鏈接的語法結構:
SELECT <字段名> FROM <表1> LEFT OUTER JOIN <表2> <ON子句> SELECT <字段名> FROM <表1> RIGHT OUTER JOIN <表2> <ON子句>
注意:outer可以省略,只寫 left join 、 right join ;但不能省略,on是設置左連接的連接條件。
例子:
dept_emp表:
salaries表:
左連接:
SELECT * FROM dept_emp as a LEFT JOIN salaries as b on a.emp_no=b.emp_no
右連接:
SELECT * FROM dept_emp as a RIGHT JOIN salaries as b on a.emp_no=b.emp_no
補充:在使用外連接時,要分清查詢的結果,是需要顯示左表的全部記錄,還是右表的全部記錄:左連接與右連接是一樣的,只是位置不同而已。
SELECT * FROM salaries as a RIGHT JOIN dept_emp as b on a.emp_no=b.emp_no