mysql实现外连接方式
作者:鸭鸭老板
今天小编就为大家分享一篇mysql实现外连接方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
一、外连接
1.左外连接(左侧的表完全显示就是左外连接)
select..from表1 left join 表2 on 条件(表1:为左表,表2:为右表)
-- 外连接 -- 创建stu CREATE TABLE stu( id INT, `name` VARCHAR(32) ); INSERT INTO stu VALUES(1,'jack'),(2,'tom'),(3,'kity'),(4,'nono') SELECT*FROM stu -- 创建exam CREATE TABLE exam( id INT, grade INT ); INSERT INTO exam VALUES(1,56),(2,76),(11,8) SELECT*FROM exam -- 左外连接 -- 查询所有人的成绩,没有成绩,也要显示姓名,id号,成绩显示为空 SELECT `name`,stu.id,grade FROM stu LEFT JOIN exam ON stu.id = exam.id
2.右外连接(右侧的表完全显示就是右外连接)
select..from表1 reght join 表2 on 条件(表1:为左表,表2:为右表)
-- 右外连接 -- 查询所显示有人成绩,没有名字的显示为空 SELECT `name`,stu.id,grade FROM stu RIGHT JOIN exam ON stu.id = exam.id
二、内连接
select employee_id,department_name from `employees` e,`departments` d where e.department_id = d.department_id;
练习
-- 列出部门名称和这些部门的员工信息(名字和工作)同时列出那些没有员工的部门名 -- 左连接实现 SELECT dname,ename,job FROM dept LEFT JOIN emp ON dept.deptno = emp.deptno -- 有连接实现 SELECT dname,ename,job FROM emp RIGHT JOIN dept ON dept.deptno = emp.deptno
在实际开发中,大多数使用内连接,很少使用外连接。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。