zoukankan      html  css  js  c++  java
  • 数据库中的LEFT JOIN 个人理解

    首先要明白LEFT JOIN 的作用

    TABLE A LEFT JOIN TABLE B 的意思指,将表A和表B拼接起来,就是按照一定的规则(自己制定)把A和B的行组合起来。

     比如有以上两个表,现在有一个语句:

    SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
    FROM Persons
    LEFT JOIN Orders
    ON Persons.Id_P=Orders.Id_P
    ORDER BY Persons.LastName;

    这句话的主要用意就是把Persons中的LastName、FirstName两列和Orders中的OrderNo拼起来,组合成一个新的表:| LastName | FirstName | OrderNo |

    但是这句话有点不好理解,我觉得主要是断句不好,官方的断句以及W3school上的断句就像上面展示的一样。我个人的断句如下:

    SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM      #第一行表明要查的结果
    
    Persons                                                              #紧接着的三行表明查询的目标
    LEFT JOIN                                                            #即从哪里查出来第一句想要的结果
    Orders
    ON Persons.Id_P=Orders.Id_P

    ORDER BY Persons.LastName

    以上的断句的意思是:

    第一行:SELECT 后面是要查的列名,包括两个表中的列

    第二行:指明 LEFT JOIN 操作中的左表,即上面示意中的A表

    第三行:LEFT JOIN 关键字

    第四行:指明 LEFT JOIN 操作中的右表,即上面示意中的B表

    第五行:  指明拼接的规则 

    二、三、四行的结果集正是第一行查询的对象,从FROM可以看出

    最后一行是用来将最终的结果拍序的。

    本来想用图表示一下过程的,奈何图太大...,就这样吧.

  • 相关阅读:
    安卓权威编程指南-笔记(第24章 Looper Handler 和 HandlerThread)
    AndroidImageSlider
    ToolBar的使用
    安卓权威编程指南-笔记(第26章 服务的作用)
    关于两个update语句互相死锁的显现,加深我们对锁的了解 转载
    js 原型和构造方法 转载
    关于distinct 和group by的去重逻辑浅析
    tab 下一个
    当前浏览器版本
    清除li间隔
  • 原文地址:https://www.cnblogs.com/PPWEI/p/13170226.html
Copyright © 2011-2022 走看看