oracle的外联接、交叉连接Oracle认证考试

文章作者 100test 发表时间 2010:01:30 10:18:24
来源 100Test.Com百考试题网


  看到一些网友整理的表连接语句,,十分不清楚,,我来整理一下:

  oracle的联接分如下几种:

  内连接(inner join)。

  外联接:

  全连接(full join)、左连接(left join)、右连接(right join)。

  交叉联接(cross join)。

  外联接与内联接不一样,外连接返回到查询结果中的不仅包含符合条件的行,还包括左表(左外连接),右表(右外连接)或者两个连接表(全外连接)中的所有不符合条件的数据行。

  1.左联接 (left [outer] join)

  左外联结就是将左表的所有数据分别于右表的每条数据进行连接组合,返回的结果除内连接的数据外,还有左表中不符合条件的数据,并在右表的相应列中填上null值。

  SQL语句如下:

  0select * from mt_pb_org o left join mt_pb_orgframe f on o.PB_ORGFRAMEID = f.PB_ORGFRAMEID.

  等价语句:

  0select * from mt_pb_org o,mt_pb_orgframe f where o.pb_orgframeid = f.pb_orgframeid( ).

  2.右联接 (right [outer] join)

  右外联结就是将右表中的所有数据分别与左表的每条数据进行连接组合,返回的结果除了内连接的数据外,还有右表中不符合条件的数据,并在左表相应的列中填上null值。

  SQL语句如下:

  0select * from mt_pb_org o right join mt_pb_orgframe on o.pb_orgframeid = f.pb_orgframeid.

  等价语句:

  0select * from mt_pb_org o,mt_pb_orgframe f where o.pb_orgframeid( ) = f.pb_orgframeid.

  3.全外联接 (full [outer] join)

  全外联接就是将左表的所有数据分别与右表的每条数据进行连接组合,返回的结果除了内连接的数据外,还有两个表中不符合条件的数据,并在左表或者右表的相应列中填上null值。

  SQL语句如下:

  0select * from mt_pb_org o full join mt_pb_orgframe o.pb_orgframeid = f.pb_orgframeid.

  4.交叉连接(cross join)

  交叉连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。

  SQL语句如下:

  0select * from mt_pb_org o cross join mt_pb_orgframe f.

  编辑特别推荐:

  Oracle正则表达式中注意的问题

  oracle创建自动增长列、触发器

  oracle认证考试费用



相关文章


OracleSqlserver转化Oracle认证考试
Oracle索引使用规则Oracle认证考试
oracle密码过期处理Oracle认证考试
Access、SQLServer、Oracle常见应用的区别Oracle认证考试
oracle的外联接、交叉连接Oracle认证考试
ORACLE删除带有空格的表Oracle认证考试
oracle如何查看隐藏的参数Oracle认证考试
在命令行下进行Oracle用户解锁Oracle认证考试
oracle查找、删除重复记录Oracle认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛