MySQL的外连接的使用

-- 外连接

-- 做一个小案例
CREATE TABLE stu
	(id INT,
	`name` VARCHAR(32));
INSERT INTO stu
	VALUES(1,'小强'),(2,'小黄'),(5,'小明')
	
CREATE TABLE exam
	(id INT, score DOUBLE)
INSERT INTO exam
	VALUES(1,89),(2,99),(11,69)

-- 现在使用外连接,显示右表的信息
SELECT * 
	FROM stu RIGHT JOIN exam
	ON stu.id = exam.id 

-- 现在使用外连接,显示左表的信息
SELECT * 
	FROM stu LEFT JOIN exam
	ON stu.id = exam.id 

 小练习:

-- 比如:列出部门名称和这些部门的员工名称和工作,同时要求 显示出没有员工的部门
-- 使用我们学习过的多表查询的SQL,看看效果
SELECT dept.deptno,dname,ename,job
	FROM dept LEFT JOIN emp
	ON dept.deptno = emp.deptno
	ORDER BY deptno

 

-- 列出部门名称和这些部门的员工信息(名字和工作),同时列出哪些没有员工的部门
-- 1.使用左外连接实现
-- 2.使用右外连接实现
SELECT dname , ename, job
	FROM dept LEFT  JOIN emp
	ON dept.deptno = emp.deptno
	ORDER BY dname

SELECT dname, ename ,job 
	FROM  emp RIGHT JOIN dept
	ON dept.deptno = emp.deptno
	ORDER BY dname
	

在开发过程中,常常使用简单的连接,而外连接不经常使用,了解即可 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值