zoukankan      html  css  js  c++  java
  • 内连接,外连接,左连接,右连接,全连接,交叉连接

    我们先建立两个表插入一些Demo数据

      ----student=(sno,sname) 学号,姓名
    insert into student(sno,sname) values('2005001','小施');
    insert into student(sno,sname) values('2005002','小王');
    insert into student(sno,sname) values('2005003','小张');
    insert into student(sno,sname) values('2005004','小贾');
    ----stu_score=(sno,scrore) 学号,分数
    insert into stu_score(sno,scrore) values('2005001',90.00);
    insert into stu_score(sno,scrore) values('2005002',95.00);
    insert into stu_score(sno,scrore) values('2005008',80.50);
    insert into stu_score(sno,scrore) values('2005009',88.50);

    (一) 内连接

      内连接,inner join,join 查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的
          列值。

    ----假设a表有M条记录,b表有N条记录,a和b表sno相同的记录有K条
    ----内连接(数据量=K)

    select a.*,b.* from student a join stu_score b on a.sno=b.sno;
    select a.*,b.* from student a inner join stu_score b on a.sno=b.sno;

    外连接,返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左
    外连接或左连接))、右表(右外连接或右连接)或两个边接表(全外连接)中的所有数据行

    (二) 外连接 (左连接、右连接) 

    左连接或left join,left outer join 返回包括左表中的所有记录和右表中联接字段相等的记录

    右连接或right join ,right outer join 返回包括右表中的所有记录和由表中联接字段相等的记录

    ----左连接/左外连接(数据量=M)
    select a.*,b.* from student a left join stu_score b on a.sno=b.sno;
    select a.*,b.* from student a left outer join stu_score b on a.sno=b.sno;

     

    ----右连接/右外连接(数据量=N)
    select a.*,b.* from student a right join stu_score b on a.sno=b.sno;
    select a.*,b.* from student a right outer join stu_score b on a.sno=b.sno;

    (三) 完全连接()
    定义:在内连接的基础上,还包含两个表中所有不符合条件的数据行,并在其中的左表、和右表列填写NULL
    关键字:FULL JOIN

    ----完全连接(数据量=M+N-K)
    select a.*,b.* from student a full join stu_score b on a.sno=b.sno;

    (四) 交叉连接
    定义:将两个表的所有行进行组合,连接后的行数为两个表的乘积数。(笛卡尔积)
    关键词:CROSS JOIN
    格式:FROM 表名1 CROSS JOIN 表名2 

    ----交叉连接(数据量=M*N)
    select a.*,b.* from student a cross join stu_score b ;

  • 相关阅读:
    webdav srs相关
    How To Configure WebDAV Access with Apache on Ubuntu 14.04
    ubuntu 编译lighttpd
    srs编译及推流测试
    Compile pciutils (lspci, setpci) in Windows x86,在 Windows x86 平台下编译 pciutils (lspci, setpci)
    mingw MSYS2 区别
    Qt之美(三):隐式共享
    Qt之美(二):元对象
    Qt之美(一):d指针/p指针详解
    C++的栈空间和堆空间
  • 原文地址:https://www.cnblogs.com/lin714115/p/1771219.html
Copyright © 2011-2022 走看看