SQL 数据表的连接


1.自然连接
  表连接会产生一个大的结果集,笛卡尔积
  

select * from TblScore,student

 


2.内连接
  定义: 通过列进行合并,没有匹配到到的不进行合并
    inner join
    on

select TSName,TSAge,TClassName from student
inner join
TblClass on student.TClassId=TblClass.TClassId

 

3.外连接
  1).左外连接
    以左表为基准, 在右表没有找到的值左表用null填充

    left join     on

select 姓名=TSName,英语成绩=
(case when TSEnglish is null then '缺考' else CONVERT(varchar(10),TSEnglish)end)
from student left join TblScore on student.TSId=TblScore.TSId 

 

  2).右外连接
    以右表为基准, 在左表没有找到的值右表用null填充
    right join on


4.自连接
  自己的表和自己连接

select t1.AreaId,tt2.AreaName,tt1.AreaName from TblArea as t1
inner join TblArea as t2 on t2.AreaPId=t1.AreaId

 

5.全连接
  FULL JOIN on
6.交叉连接
  CROSS JOIN on

posted @ 2017-08-02 15:43  风儿_VIP  阅读(203)  评论(0编辑  收藏  举报