数据库 内连接,外连接,全连接,交叉连接

   其实数据库中就这么 几种连接  内连接,外连接,全连接,交叉连接

而外连接又分为 :左连接,右连接

 

内连接:把两个表中数据对应的数据查出来
外连接:以某个表为基础把对应数据查出来

全连接是以多个表为基础

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

左连接或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 ;

本篇文章来源于 站长吧|http://www.czz8.com/ 原文链接:http://www.czz8.com/SQL/19166.html

你可能感兴趣的:(html,sql)