• SQL多表查询:内连接、外连接(左连接、右连接)、全连接、交叉连接


    内连接  (常用)

    select  a.*,b.*  from a inner join b  on  a.id = b.parent_id

    结果:

    Id

    Name

    ID

    Job

    Parent_Id

    1

    张三

    1

    教师

    1

    2

    李四

    2

    工程师

    2

    左连接:保留左表记录,右表被筛掉的为NULL

    select a.*,b.* from a left join b on a.id = b.parent_id   

    结果:

    Id

    Name

    ID

    Job

    Parent_Id

    1

    张三

    1

    教师

    1

    2

    李四

    2

    工程师

    2

    3

    王五

    NULL

    NULL

    NULL

     

     

     

     

    右连接:保留右表记录,左表被筛掉的为NULL

    select a.*,b.* from a right join b on a.id = b.parent_id

    结果:

    Id

    Name

    ID

    Job

    Parent_Id

    1

    张三

    1

    教师

    1

    2

    李四

    2

    工程师

    2

    NULL

    NULL

    3

    农民

    4

     

     

     

     

     

     全连接

    select a.*,b.* from a full join b on a.id = b.parent_id

    结果:

    Id Name   ID Job Parent_Id
    1 张三 1 教师 1
    2 李四 2 工程师 2
    NULL NULL 3 农民 4
    3 王五 NULL NULL NULL

      

     交叉连接:表a的每条数据与表b每条数据依次匹配组合(笛卡尔积)a*b

    select  a.*,b.*  from a cross join b  on  a.id = b.parent_id

    结果:

    Id Name ID Job Parent_Id
     1  张三  1  教师  1
     1  张三  2  工程师  2
     1  张三  3  农民  4
     2  李四  1  教师  1
     2  李四  2  工程师  2
     2  李四  3  农民  4
     3  王五  1  教师  1
     3  王五  2  工程师  2
     3  王五  3  农民  4

     扩展阅读>>

  • 相关阅读:
    request
    href="#"
    可展开收起的客服导航。
    JS添加父节点的方法。
    精简漂亮的导航浮动菜单显示特效演示
    竖排导航
    仿新浪微博
    鼠标滑过改变文字
    滚动函数
    一些常用的兼容函数。
  • 原文地址:https://www.cnblogs.com/zxx193/p/3630227.html
Copyright © 2020-2023  润新知