连接操作 - Oracle 学习笔记 3
2008-03-03 20:00
483 查看
以前在学数据库时 就没搞明白什么是外连接,今天才弄明白~ o(∩_∩)o 我是不是很笨~...
select *
from table1,table2
这里from子句的两个表执行的是笛卡尔积操作。也就是table2中的所有记录从头到尾吧table1中的所有记录映射一遍。得到的记录数是两个表记录数的乘积。
select *
from table1 a, table2 b
where a.id=b.id
这里加上了where子句,得出的结果是两个表id字段相等的记录。也就是说两个表都可能会有记录不会被查询到。
select *
from table1 a, table2 b
where a.id=b.id (+)
这里where子句条件后面加上了(+)。其中没有(+)的表是驱动表(table1)。查询结果将会包含驱动表的所有记录,不管是否能和table2匹配。而table2只有和驱动表匹配的记录才会被查询到。
select *
from table1,table2
这里from子句的两个表执行的是笛卡尔积操作。也就是table2中的所有记录从头到尾吧table1中的所有记录映射一遍。得到的记录数是两个表记录数的乘积。
select *
from table1 a, table2 b
where a.id=b.id
这里加上了where子句,得出的结果是两个表id字段相等的记录。也就是说两个表都可能会有记录不会被查询到。
select *
from table1 a, table2 b
where a.id=b.id (+)
这里where子句条件后面加上了(+)。其中没有(+)的表是驱动表(table1)。查询结果将会包含驱动表的所有记录,不管是否能和table2匹配。而table2只有和驱动表匹配的记录才会被查询到。
相关文章推荐
- python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- Oracle 11g学习笔记--内连接,外连接和自连接
- Oracle性能优化学习笔记WHERE在连接顺序的条款
- Oracle 11g学习笔记--内连接,外连接和自连接
- Oracle性能优化学习笔记之WHERE子句中的连接顺序
- maven之构建oracle的jdbc学习笔记_保存点_SQLXml_ojdbc6驱动连接简析
- Oracle 学习笔记 表操作
- 初学Oracle学习笔记之Oracle常见操作总结
- 数据库使用学习笔记:Oracle数据库连接中Provider=OraOleDb.Oracle.1与Provider=MSDAORA什么区别
- Oracle性能优化学习笔记之WHERE子句中的连接顺序
- Oracle学习查询操作的笔记以及语句
- maven之构建oracle的jdbc学习笔记_保存点_SQLXml_ojdbc6驱动连接简析
- 学习笔记:jdbc连接、操作数据库SQL Server 2008(二)
- Oracle SQL Plus 的基本操作 - Oracle 学习笔记 1
- Oracle 学习笔记 图解深入剖析一个事务的操作流程
- Oracle 学习笔记 14 -- 集合操作和高级子查询
- JavaWeb学习笔记 连接mysql操作
- Oracle 11g学习笔记--表的高级操作
- Oracle学习笔记 -- day05 多表查询、连接查询、子查询、分页、行转列、集合运算
- 学习笔记:jdbc连接、操作数据库SQL Server 2008 ——MyEclipse web示例