framework7做网站,山西威力网站建设推荐,帆客建设网站,公司公司手机网站制作#x1f4df;作者主页#xff1a;慢热的陕西人 #x1f334;专栏链接#xff1a;MySQL #x1f4e3;欢迎各位大佬#x1f44d;点赞#x1f525;关注#x1f693;收藏#xff0c;#x1f349;留言 本博客主要内容主要介绍了MySQL中的内外连接 文章目录 MySQL的内外连接… 作者主页慢热的陕西人 专栏链接MySQL 欢迎各位大佬点赞关注收藏留言 本博客主要内容主要介绍了MySQL中的内外连接 文章目录 MySQL的内外连接1.内连接2.外连接2.1左外连接2.2右外连接 MySQL的内外连接
1.内连接
内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选我们前面学习的查询都是内连接也是在开发过程中使用的最多的连接查询。
语法
select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件案例显示SMITH的名字和部门名称
-- 用前面的写法
select ename, dname from EMP, DEPT where EMP.deptnoDEPT.deptno and
enameSMITH;
-- 用标准的内连接写法
select ename, dname from EMP inner join DEPT on EMP.deptnoDEPT.deptno and
enameSMITH;2.外连接
外连接分为左外连接和右外连接
2.1左外连接
如果联合查询左侧的表完全显示我们就说是左外连接。 语法
select 字段名 from 表名1 left join 表名2 on 连接条件案例
-- 建两张表
create table stu (id int, name varchar(30)); -- 学生表
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),(11, 8);查询所有学生的成绩如果这个学生没有成绩也要将学生的个人信息显示出来 -- 当左边表和右边表没有匹配时也会显示左边表的数据
select * from stu left join exam on stu.idexam.id;2.2右外连接
如果联合查询右侧的表完全显示我们就说是右外连接。
语法
select 字段 from 表名1 right join 表名2 on 连接条件案例 对stu表和exam表联合查询把所有的成绩都显示出来即使这个成绩没有学生与它对应也要显示出来 select * from stu right join exam on stu.idexam.id;练习 列出部门名称和这些部门的员工信息同时列出没有员工的部门 方法一
select d.dname, e.* from dept d left join emp e on d.deptnoe.deptno;
方法二
select d.dname, e.* from emp e right join dept d on d.deptnoe.deptno;到这本篇博客的内容就到此结束了。 如果觉得本篇博客内容对你有所帮助的话可以点赞收藏顺便关注一下 如果文章内容有错误欢迎在评论区指正