T_SQL 多表查询 暑假第一天

来源:互联网 发布:怪兽电力公司 知乎 编辑:程序博客网 时间:2024/05/22 13:22
 

1.

 T_SQL多表查询的中的基本连接  

     select  table1.a,table2.b  from table1,table2 where  table1.c=table2.c    ;   /select/注意每列要加上表明    from后面要加上表名字    where 后面接连接条件  

 

 多表查询中的内部链接    和基本连接相同      INNER   /INNER  JOIN  

  SELECT A.X ,B.Y  FROM  TABLE1  A  INNER JOIN  TABLE2 B ON  A.Z=B.Z  ;// 内部链接   JOIN  =INNER JOIN   

 例子 :

select   A.班级名,B.姓名  FROM 班级信息 A INNER JOIN 学生信息 B  ON  A.班级编号=B.所属班级;
GO     --批处理结束

 

2..多表连接的外连接  分为 左外连接     右外连接   全连接      LEFT  OUTER JOIN      ...  主表完全返回从表匹配的返回不匹配的 行用NULL填充 

外连接与内连接的区别:  内连接是消除表与表之间不匹配的行  

                                         而外连接会返回from语句后面至少一个表的所有行 只要符合搜索条件     外连接的表有主从之分   主表每行数据去从表中匹配数据行

                                         如果找到匹配行那么返回到查询结果中    如果没找到 那么从表中的行用NULL填充柄返回到查询结果中        右外连接也是这样 只是主从表的

                                         选择不一样  。

 

左外连接  例子 select  A.班级人数, B.联系方式 FROM 班级信息 A  LEFT OUTER JOIN 辅导员信息 B ON A.辅导员=B.辅导员编号 and  A.班级人数>20  ;  GO

 

右外连接  例子   只要吧 LEFT OUTER JOIN  换成 RIGHT OUTER JOIN   基本功能一样   

 

但是以上2中外连接都把主表的数据完全返回并且返回从表中的匹配数据       我们要求同时对主表从表进行 选择 那么就可以用全外连接

 

全外连接    FULL  OUTER JOIN       对左右都进行匹配检测   

 

 

 

 

 

 

 

 

 

原创粉丝点击