表外连接
1.左外连接
2.右外连接
前提工作
CREATE TABLE stu(
id INT,
`name` VARCHAR(32));
INSERT INTO stu
VALUES(1,'jack'),(2,'tom'),(3,'kity'),(4,'nono');
CREATE TABLE exam(
id INT,
grade INT);
INSERT INTO exam VALUES(1,56),(2,76),(3,9);
左外连接
显示所有人的成绩,如果没有成绩,也要显示该人的姓名和id,成绩显示为空。
右外连接
以右边表为主,和左边表没有匹配的,也会显示出来
用前面学习的会发现搞不了
SELECT `name` ,stu.id,grade
FROM stu,exam
WHERE stu.id=exam.id
左外连接
SELECT `name` ,stu.id,grade
FROM stu LEFT JOIN exam
ON stu.id = exam.id
右外连接
SELECT `name` ,stu.id,grade
FROM stu RIGHT JOIN exam
ON stu.id = exam.id
练习
SELECT dname,ename,job
FROM dept LEFT JOIN emp
ON dept.deptno = emp.deptno