【MySQL】内外链接

06-01 1496阅读

        前言:本节内容主要讲解表的内连和外连以及索引的一部分。 注意: 索引是很重要的知识点。务必学习!!本节将会主要谈一谈什么是索引,如何理解索引。 以及怎么理解MySQL与磁盘的关系。 下面友友们开始学习吧!

        ps:本节内容友友们只要想学习mysql都可以观看哦!!

目录

内连接

外连接

左连接

右连接


内连接

        内连接实际就是利用where子句对两种表形成的结果进行筛选。 连接是在from中。 以前学习的笛卡尔积实际上就是今天的内连接。 笛卡尔积和where判断,就叫做内连接。 

        下面来看一个内连接的案例:

找出SMITH的部门名称和部门编号

select ename, dname from emp inner join dept on emp.deptno = dept.deptno where ename = 'SMITH';

【MySQL】内外链接

外连接

左连接

        除了内连接, 就是外连接, 我们想让左侧的表, 完全显示。 右侧的表如果配不上, 就去掉。 左外连接的语法和内连接的语法一摸一样, 只不过是把left替换了inner。

        现在做一下示例:

        查询所有学生的成绩, 如果这个学生没有成绩, 也要将学生的个人信息显示出来:

create table stu(id int, name varchar(30));
insert into stu values(1, 'jack'), (2, '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.id = exam.id;

【MySQL】内外链接

        我们会发现, 即便我们的nono没有对应的成绩, 在第二张表中没有他, 他也被打印出来了。所以, 我们就能发现, 左连接就是,这个stu.id  = exam.id的条件, 更偏向于stu表。 

右连接

        其实左连接和右连接是一样的。 所以, 我们就可以做这个案例:

        对stu表和exam表进行联合查询, 把所有的成绩都显示出来, 即使这个成绩没有学生与它对应, 也要显示出来。

select * from stu right join exam on stu.id = exam.id;

【MySQL】内外链接

        其实和左连接差不多的。

        以上就是内外链接的所有内容。 其实对于内连接来说, 就是判断条件时, 两张表是公平的。 对于左连接来说, 判断条件时, 偏向左表;对于右连接来说, 判断条件时, 偏向右表。

【MySQL】内外链接

——————以上就是本节全部内容哦, 如果对友友们有帮助的话可以关注博主, 方便学习更多知识哦!!!    

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码