了解left outer join操作

广告 X
OK欧意app

欧意最新版本

欧意最新版是全球三大交易所之一,注册即送最高6万元礼包

APP下载  官网地址

亲爱的小伙伴们大家好,今天小编来为大家谈谈了解left outer join操作,接下来我们进入正题,请往下看!

在数据库中,表与表之间的关系是非常重要的,因为这些关系将会决定我们在查询数据时所使用的方式。而其中一个最常见的操作就是left outer join操作。

1. left outer join是什么?

left outer join,又称left join操作,表示使用左表中的所有行,同时匹配右表中的行,如果匹配不成功,则返回NULL值。也就是说,无论右表是否存在相应的数据行,左表都会保留它们的记录。

2. 能举个例子吗?

假设我们有两个表:学生表和成绩表,他们的结构分别如下:

    学生表:
     ---- ------ -------- 
    | id | name | gender |
     ---- ------ -------- 
    | 1  | Tom  | 男     |
    | 2  | Jack | 男     |
    | 3  | Lucy | 女     |
     ---- ------ -------- 

    成绩表:
     ---- --------- ------- 
    | id | subject | grade |
     ---- --------- ------- 
    | 1  | Math    | 80    |
    | 1  | English | 70    |
    | 3  | Math    | 90    |
     ---- --------- ------- 

现在我们需要查询以下信息:每个学生的姓名和所有成绩。我们可以使用left outer join这样的SQL语句来实现。

    SELECT students.name, scores.subject, scores.grade
    FROM students
    LEFT JOIN scores ON students.id = scores.id;

执行后得到的结果如下:

     ------ --------- ------- 
    | name | subject | grade |
     ------ --------- ------- 
    | Tom  | Math    | 80    |
    | Tom  | English | 70    |
    | Jack | NULL    | NULL  |
    | Lucy | Math    | 90    |
     ------ --------- ------- 

可以看到,这个查询结果中每个学生的姓名都出现了,并且那些没有成绩记录的学生也在结果中了。

3. left outer join和inner join有什么不同?

left outer join操作有一个非常明显的特点,就是无论右表是否有匹配的数据,左表的所有数据都会被保留。而inner join操作则会丢弃那些没有匹配数据的行。

回到上面的例子,如果我们使用inner join,那么我们得到的结果将只包含Tom和Lucy两个学生的成绩。

    SELECT students.name, scores.subject, scores.grade
    FROM students
    INNER JOIN scores ON students.id = scores.id;
     ------ ------ ------- 
    | name | subject | grade |
     ------ ------ ------- 
    | Tom  | Math    | 80    |
    | Tom  | English | 70    |
    | Lucy | Math    | 90    |
     ------ ------ ------- 

可以看到,Jack这个学生的信息不在结果中了。

4. 结论

left outer join操作是非常实用的,它可以让我们在查询数据时保留所有的记录,即使有些记录在关联表中没有匹配数据。而和inner join不同,left outer join能够保留那些没有匹配的数据,这个特性在实际的查询应用中非常有用。

标签:
上一篇2023-06-27
下一篇 2023-06-27

相关推荐

  • 蚂蚁庄园小鸡答题今日答案2024年12月26日

    2024年12月26日蚂蚁庄园答题答案是什么?蚂蚁庄园小课堂每日都有新的题目,答对可以获得180g饲料,那么12月26日蚂蚁庄园答案是什么呢?小编已经帮大家准备好了12月26日蚂

    2023-06-27 01:09:49
    0
  • 蚂蚁庄园小鸡答题今日答案2024年12月25日

    2024年12月25日蚂蚁庄园答题答案是什么?蚂蚁庄园小课堂每日都有新的题目,答对可以获得180g饲料,那么12月25日蚂蚁庄园答案是什么呢?小编已经帮大家准备好了12月25日蚂

    2023-06-27 01:09:49
    1
  • 蚂蚁庄园小鸡答题今日答案2024年12月24日

    2024年12月24日蚂蚁庄园答题答案是什么?蚂蚁庄园小课堂每日都有新的题目,答对可以获得180g饲料,那么12月24日蚂蚁庄园答案是什么呢?小编已经帮大家准备好了12月24日蚂

    2023-06-27 01:09:49
    1
  • 蚂蚁庄园小鸡答题今日答案2024年12月23日

    2024年12月23日蚂蚁庄园答题答案是什么?蚂蚁庄园小课堂每日都有新的题目,答对可以获得180g饲料,那么12月23日蚂蚁庄园答案是什么呢?小编已经帮大家准备好了12月23日蚂

    2023-06-27 01:09:49
    1
  • 蚂蚁庄园小鸡答题今日答案2024年12月22日

    2024年12月22日蚂蚁庄园答题答案是什么?蚂蚁庄园小课堂每日都有新的题目,答对可以获得180g饲料,那么12月22日蚂蚁庄园答案是什么呢?小编已经帮大家准备好了12月22日蚂

    2023-06-27 01:09:49
    1
  • 蚂蚁庄园小鸡答题今日答案2024年12月21日

    2024年12月21日蚂蚁庄园答题答案是什么?蚂蚁庄园小课堂每日都有新的题目,答对可以获得180g饲料,那么12月21日蚂蚁庄园答案是什么呢?小编已经帮大家准备好了12月21日蚂

    2023-06-27 01:09:49
    2
  • 蚂蚁庄园小鸡答题今日答案2024年12月20日

    2024年12月20日蚂蚁庄园答题答案是什么?蚂蚁庄园小课堂每日都有新的题目,答对可以获得180g饲料,那么12月20日蚂蚁庄园答案是什么呢?小编已经帮大家准备好了12月20日蚂

    2023-06-27 01:09:49
    3
  • 蚂蚁庄园小鸡答题今日答案2024年12月19日

    2024年12月19日蚂蚁庄园答题答案是什么?蚂蚁庄园小课堂每日都有新的题目,答对可以获得180g饲料,那么12月19日蚂蚁庄园答案是什么呢?小编已经帮大家准备好了12月19日蚂

    2023-06-27 01:09:49
    1