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

MSSQL
SQL Server服务器内存升级后的烦恼
SQL Server数据库超级管理员账号防护
微软证实最新的关键SQL Server漏洞
在SQL Server 2000数据仓库中使用分区
深入探讨SQL Server 2008商务智能(BI)
正确理解SQL Server四类数据仓库建模方法
SQL Server中读取XML文件的简单做法
教程:打造SQL Server2000的安全策略
Windows存储 SQL行溢出 差异备份及疑问
保护SQL服务器的安全 用户识别问题
SQL Server数据在不同数据库中的应用
关于SQL Server中索引使用及维护简介
在SQL Server中使用CLR调用.NET方法
50种方法巧妙优化SQL Server数据库
比较SQL Server约束和DML触发器
从IIS到SQL Server数据库安全
在SQL server2005数据库下创建计划任务
SQL Server保障数据一致性的法宝
数据库备份过程中经常遇到的九种情况
轻松解决ORA-12560: TNS 协议适配器错误

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 97 ::
收藏到网摘: 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 子句中使用多个连接条件的查询,称为复合条件连接查询。