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

MSSQL
一个分页存储过程代码
Sql Server 2000 行转列的实现(横排)
sql2000挂起无法安装的问题的解决方法
完美解决MSSQL"以前的某个程序安装已在安装计算机上创建挂起的文件操作"
SQL Server数据库的修复SQL语句
分页存储过程代码
批量执行sql语句的方法
一条SQL语句搞定Sql2000 分页
SQL Server 海量数据导入的最快方法
SQL Select语句完整的执行顺序
MSSQL 清空数据库的方法
mssql自动备份及自动清除日志文件服务器设置
Sql 语句学习指南
.NET Framework SQL Server 数据提供程序连接池
对有自增长字段的表导入数据注意事项
SQL Server导入、导出、备份数据方法
sql server 临时表 查找并删除的实现代码
该行已经属于另一个表 的解决方法
SQL 注入式攻击的本质
SQL 平均数统计

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


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