当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库技术(60)

MSSQL
SQL2005学习笔记 APPLY 运算符
SQL2005学习笔记 EXCEPT和INTERSECT运算符
SQL2005 学习笔记 窗口函数(OVER)
SQL2005 ROW_NUMER实现分页的两种常用方式
SQL Server中的XML数据进行insert、update、delete
在安装sql2005中或安装后sa用户无法登陆系统解决方法
SQL2005 自动备份的脚本
在SQLServer 2005中编写存储过程
SQL2005 服务器因重装改名后出错的说明
使用c#构造date数据类型
SQLServer2005 批量查询自定义对象脚本
SQLServer2005 Output子句获取刚插入的ID值
SQLServer 设置单词首字母大写
SQLServer ntile获取每组前10%的数据
安装SQL2005提示 找不到任何SQL2005组件的问题解决方案
sql2005开发版 没有任何功能可以安装
超详细的sql2005图解安装全过程
sqlserver2005 安装图解教程
winXP系统安装SQLServer2005开发版具体过程与注意问题
SQLServer 2005系统配置要求官方说明

MSSQL 中的 SQL Server数据库技术(60)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 92 ::
收藏到网摘: n/a

   数据库中的各个表中存放着不同的数据,用户往往需要用多个表中的数据来组合、提炼出所需要的信息。如果一个查询需要对多个表进行操作,就称为连接查询。连接查询的结果集或结果表,称为表之间的连接连接。查询实际上是通过各个表之间共同列的关联性来查询数据的,它是关系数据库查询最主要的特征。

连接查询分为等值连接查询、非等值连接查询、自连接查询、外部连接查询和复合条件连接查询。

10.3.1 等值与非等值连接查询
表之间的连接是通过相等的字段值连接起来的查询称为等值连接查询。可以用两种方式来指定连接条件。下面例子中的两个程序段运行结果相同。



注意:边续查询的连接条件中,各连接字段的数据类型不必相同,但必须相容。

10.3.2 非等值连接查询
在等值查询的连接条件中不使用等号,而使用其它比较运算符就构成了非等值连接查询。可以使用的比较运算符有:> 、>、=、 <、 <=、 !=, 还可以使用BETWEEN…AND 之类的谓词。


    显然,这个例子没有实际应用价值,同时也说明非等值连接查询往往需要同其它连接查询结合使用,尤其是同等值连接查询结合。其用法请参见后面介绍的复合条件连接查询。

10.3.3 自连接查询
连接不仅可以在表之间进行,也可以使一个表同其自身进行连接,这种连接称为自连
接(Self Join),相应的查询称为自连接查询。
例10-21: 查询在公司工作的工龄相同的员工。
use pangu



10.3.4 外部连接查询
    在前面所举的例子中,连接的结果是从两个或两个以上的表的组合中挑选出符合连接条件的数据,如果数据无法满足连接条件则将其丢弃。通常称这种方法为内部连接(InnerJoin)。在内部连接中,参与连接的表的地位是平等的。与内部连接相对的方式称为外部连接(Outer Join)。在外部连接中,参与连接的表有主从之分,以主表的每行数据去匹配从表的数据列,符合连接条件的数据将直接返回到结果集中,对那些不符合连接条件的列,将被填上NULL 值后再返回到结果集中(对BIT 类型的列,由于BIT 数据类型不允许NULL 值,因此将会被填上0 值再返回到结果中)。

    外部连接分为左外部连接(Left Outer Join)和右外部连接(Right Outer Join)两种。以主表所在的方向区分外部连接,主表在左边,则称为左外部连接,主表在右边,则称为右外部连接。

10.3.5 复合条件连接查询
在WHERE 子句中使用多个连接条件的查询,称为复合条件连接查询。