且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

SQL语句的各类联接

更新时间:2022-09-25 17:25:13

  • inner    join    内联接(左右不为Null)
    select    *    from    tableA    a   inner  join    tableB    b    on    a.id=b.id
        内联接——只产生所有表中存在匹配的记录,就是常见的where语句连接,两边的表返回的都是匹配的记录。
  • left    outer    join    左外联接(左全右Null)
    select    *    from    tableA    a    left    join    tableB    b    on    a.id=b.id
       左外联接——左表的所有记录都出现在结果集中,而右表有匹配则显示记录,无匹配则显示NULL。
  • rigth    outer    join   右外联接(左Null右全)
    select    *    from    tableA    a    right    join    tableB    b    on    a.id=b.id
       右外联接——右表的所有记录都出现在结果集中,而左表有匹配则显示记录,无匹配则显示NULL。
  • full    outer    join  全外联接(左外联接 + 右外联接)
    select    *    from    tableA    a    full    join    tableB    b    on    a.id=b.id
       全外联接——返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。
  • cross    join   交叉联接(返回笛卡尔乘积)
    select    *    from    tableA    a    cross    join    tableB 
本文转自 Icansoft 51CTO博客,原文链接: 
http://blog.51cto.com/android/50135