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

MSSQL
SQL Server 压缩日志及数据库文件大小
名词解释:带你轻松接触13个数据库术语
自定义数据库自动编号初始值和步进值
合理设置内存让数据库与其他程序共存
SQL Server 2005:数据类型最大值
数据库手边系列:SQL Server数据表信息
SQL Server讲堂:备份和恢复措施
八个有用的WordPress的SQL语句
SQL Server中链接服务器将替代远程服务器
SQLServer与服务器连接时出错的解决方案
在 SQL Server 数据库开发中的十大问题
SQLServer 游标简介与使用说明
SQLServer 存储过程简介与使用方法
数据库大战: MS SQL Server & IBM DB2
如何了解SQL的执行频率
SQL技巧:快速掌握一些异常精妙的"SQL"语句
经验:解决DB2中出现的SQL1032N错误现象
菜鸟课堂:MySQL权限的详细解答
SQL大讲堂:如何了解SQL的执行频率
扫盲大讲堂:SQL查询结果集对注入的影响及利用

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


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