CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

表的内联合和外联合

楼主sitanda(yansida)2005-05-14 17:11:53 在 MS-SQL Server / 基础类 提问

在表的联合中,有时会遇到内联合和外联合的问题,但我不知道到底什么叫内联合和外联合,翻过相关的书籍,可都解释的不够清楚,不知哪位大虾能帮忙解释以下这个问题吗?  
   
  还有那个外联合中又有什么   左外联合   和   又外联合,这到底是怎么回事呢? 问题点数:50、回复次数:2Top

1 楼xluzhong(Ralph)回复于 2005-05-14 17:38:02 得分 25

使用内联接  
  内联接是用比较运算符比较要联接列的值的联接。  
   
  在   SQL-92   标准中,内联接可在   FROM   或   WHERE   子句中指定。这是   WHERE   子句中唯一一种   SQL-92   支持的联接类型。WHERE   子句中指定的内联接称为旧式内联接。  
   
  下面的   Transact-SQL   查询是内联接的一个示例:  
   
  USE   pubs  
  SELECT   *  
  FROM   authors   AS   a   INNER   JOIN   publishers   AS   p  
        ON   a.city   =   p.city  
  ORDER   BY   a.au_lname   DESC  
   
  此内联接称为相等联接。它返回两个表中的所有列,但只返回在联接列中具有相等值的行。  
  Top

2 楼xluzhong(Ralph)回复于 2005-05-14 17:38:33 得分 25

使用外联接  
  仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。内联接消除与另一个表中的任何行不匹配的行。而外联接会返回   FROM   子句中提到的至少一个表或视图的所有行,只要这些行符合任何   WHERE   或   HAVING   搜索条件。将检索通过左向外联接引用的左表的所有行,以及通过右向外联接引用的右表的所有行。完整外部联接中两个表的所有行都将返回。  
   
  Microsoft®   SQL   Server™   2000   对在   FROM   子句中指定的外联接使用以下   SQL-92   关键字:    
   
  LEFT   OUTER   JOIN   或   LEFT   JOIN  
   
   
  RIGHT   OUTER   JOIN   或   RIGHT   JOIN  
   
   
  FULL   OUTER   JOIN   或   FULL   JOIN    
  SQL   Server   支持   SQL-92   外联接语法,以及在   WHERE   子句中使用   *=   和   =*   运算符指定外联接的旧式语法。由于   SQL-92   语法不容易产生歧义,而旧式   Transact-SQL   外联接有时会产生歧义,因此建议使用   SQL-92   语法。  
  Top

相关问题

  • 两个表联合查询
  • 多表联合查询
  • 更新一个表中的数据,但这个表要和另外一个表联合起来。
  • ??三个表的联合比对??
  • 提问:两表联合查询问题??
  • 2表联合查询,在线等哦
  • 求一个多表联合查询
  • 关于多张表的联合查询
  • 关于两个表联合的问题。
  • 表的联合查询问题

关键词

  • 联接
  • 联合
  • 语法
  • sql
  • 子句
  • 表
  • 旧式
  • 返回
  • 指定
  • outer

得分解答快速导航

  • 帖主:sitanda
  • xluzhong
  • xluzhong

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo