-- 外连接/*应用场景: 用于查询一个表中有,另一个表中没有的记录特点:1、外连接的查询结果为主表中的所有记录如果从表中有和主表匹配的,则显示匹配的值如果从表中没有和主表匹配的,则显示null外连接查询的结果=内链接结果+主表中有而从表中没有的记录2、左外连接:left join 左边的是主表右外连接:right join 右边的是主表3、左外和右外交换两表的顺序可以实现同样的效果4、全外连接:内链接结果+表1中有但表2中没有+表1中没有但表2中有*/-- ;案例:查询男朋友不在男神表中的女神名-- 左外连接实现 (outer 可省略)SELECT be.name,bo.*FROM beauty beLEFT outer JOIN boys boON be.boyfriend_id=bo.idWHERE bo.id is null;-- 右外连接实现SELECT be.name,bo.*FROM boys boRIGHT OUTER JOIN beauty beON be.boyfriend_id=bo.idWHERE bo.id is null;-- 案例: 查询哪个部门没有员工-- 左外SELECT d.*,employee_idFROM departments dLEFT OUTER JOIN employees eON d.department_id=e.department_idWHERE employee_id is null;-- 左外SELECT d.*,employee_idFROM employees eRIGHT JOIN departments dON d.department_id=e.department_idWHERE employee_id is null;/*全外连接(MySQL中不支持)语法:USE girlsSELECT be.*,bo.*FROM beauty beFULL OUTER JOIN boys boON be.boyfriend_id=bo.id;*/
08.1连接查询-外连接——MySQL
未经允许不得转载:爱站程序员基地 » 08.1连接查询-外连接——MySQL