zoukankan      html  css  js  c++  java
  • 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

     扩展阅读>>

  • 相关阅读:
    android listview simpleAdaper
    android appwigt
    android shortcut &livefoulder
    android 命令行
    React Native for Android 学习笔记
    android dialog
    android Menu
    Android Gallery
    Android Listview
    Android
  • 原文地址:https://www.cnblogs.com/zxx193/p/3630227.html
Copyright © 2011-2022 走看看