2021-04-24

今个来说说left join、right join和(inner)join的区别

先附上一张常见的分类图(很直观的!!相信可能早在其他地方就见过)

2021-04-24

 

首先我们先建两张表course和score

2021-04-242021-04-24

 

一、left join
顾名思义,就是“左连接”,表1左连接表2,以左为主,表示以表1为主,关联上表2的数据,查出来的结果显示左边的所有数据,然后右边显示的是和左边有交集部分的数据。如下:

SELECT 
    *
FROM
    course
        LEFT JOIN
    score ON course.Id = score.courseId;

2021-04-24

二、right join

“右连接”,表1右连接表2,以右为主,表示以表2为主,关联查询表1的数据,查出表2所有数据以及表1和表2有交集的数据,如下:

SELECT 
    *
FROM
    course
        RIGHT JOIN
    score ON course.Id = score.courseId;

2021-04-24

三、join  (inner  join)
join,其实就是“inner join”,为了简写才写成join,两个是表示一个的,内连接,表示以两个表的交集为主,查出来是两个表有交集的部分,其余没有关联就不额外显示出来,这个用的情况也是挺多的,如下:

SELECT 
    *
FROM
    course
        JOIN
    score ON course.Id = score.courseId;

2021-04-24

总结:

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行

上一篇:笔记----SQL语句


下一篇:2021-04-19