SQL关于联合的基本概念和示例
2007-11-11 12:17:18 来源:WEB开发网核心提示:联合的类型分为 INNER JOIN 内部联合,OUTER JOIN外部联合,这两种联合的本质区别在于ON子句,SQL关于联合的基本概念和示例,前者ON子句的条件必须为真,后者没有此限制INNER JOIN 分为 等值与不等值联合 这种联合的子句的条件指定一个表中的某个字段必须等于另一个表中的某个字段,是否有聚簇索
联合的类型分为 INNER JOIN 内部联合,OUTER JOIN外部联合,这两种联合的本质区别在于ON子句,前者ON子句的条件必须为真,后者没有此限制
INNER JOIN 分为
等值与不等值联合
这种联合的子句的条件指定一个表中的某个字段必须等于另一个表中的某个字段,这是一种最常用和最有意义的联合
交叉联合
这种联合没有ON子句,联合中列举的所有表中的所有记录行都被包含在结果集中,很显然这就是两张表的笛卡儿积,交叉联合不是很有用
自联合
当一个表联合到它自己,而不是其它表时,产生自联合,自联合的主要用途是寻找表中记录的匹配对,自联合与子查询一起使用时比较有意义,在使用自联合的时候一定要为这个表或列赋予一个别名,自联合通常非常复杂。
OUTER JOIN 分为
左外部联合
当联合A,B两表时,需要其中A表的记录始终出现在最终结果中可选择使用此联合,那么不论A表记录中是否存在满足ON子句条件的记录,A表的所有记录都将显示
右外部联合
此与左外部联合正好相反,使用左还是右没有任何规定,完全看你的爱好了
完全外部联合
这是前两种联合的特征合,即联合的所有表的记录都显示在最终结果中
以下示例为sql server(WINDOWS平台上强大的数据库平台) 2005数据库引擎关于联合时所使用的查询计划,为SQL优化作指导。
数据库引擎主要使用嵌套循环,哈西匹配,合并这三种方式处理联合查询,根据数据量的不同,是否有聚簇索引等辅助条件,数据库引擎自动评估开销选择,但依旧可以强制使用Option参数指定。
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接