动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Oracle教程 ]的信息

本月文章推荐
.Oracle9i初始化参数中文说明(14).
.如何在 Linux 下通过 WEB 认证方.
.在Oracle 8i的SQL*Plus中如何利用.
.Oracle数据库维护常用SQL语句集合.
.教你如何重建Oracle数据库的回滚.
.Oracle笔记-优化器计划稳定性.
.Oracle Index 的三个问.
.完整的oracle rman备份恢复的例子.
.解决Oracle中Exp/Imp大量数据处理.
.不安装Oracle客户连接Oracle 8的.
.轻松学习贯穿Oracle的25条基本知.
.数据库手册:Oracle维护常用SQL语.
.如何移动表来减小数据文件的大小.
.Oracle中的用户管理的不完全恢复.
.当数据积累到一定时间后执行会越.
.TURBOLinux 7.0下安装Oracle 8.1.
.如何将 Access 数据导出到 Oracl.
.Oracle数据库整机移植技术.
.oracle数据库开发的一些经验积累.
.Oracle’s DBMS_Profiler:PL/SQL.

Oracle数据库-关于外联接

发表日期:2008-2-9 |



  以前在Oracle中用=(+)和(+)=来进行左外联接和右外联接;后来用SQL Server时用*=和=*进行外连接左外联接和右外联接;
  
  现在决定用SQL-92的标准方法:[OUTER] JOIN
  
  OUTER是可以省略的。
  
  LEFT OUTER JOIN 或 LEFT JOIN    表示左外联接
  RIGHT OUTER JOIN 或 RIGHT JOIN  表示左外联接
  FULL OUTER JOIN 或 FULL JOIN    表示左外联接
  
  外联接的意思不用多说,我们都懂,但是JOIN到底怎么用呢?没有找到很好的资料,只能从例子中学习了:
  
  这个例子也许没有实际意义,只是为了说明问题:
  
  CREATE TABLE orders(order_id int, firm_id int, p_id int)
  CREATE TABLE firms (firm_id int, f_name int)
  CREATE TABLE prodUCts(p_id int, p_name int)
  
  select a.order_id, b.f_name, c.p_name
  from orders a left join firms b on a.firm_id = b.firm_id
  left join products c on a.p_id = c.p_id
  
  说明:orders表是主表,先和从表firms进行左联接,再和从表products进行左联接。
  
  判定是外联接中的主表还是从表主要看from从句中各个表在LEFT JOIN或RIGHT JOIN两边的位置:LEFT JOIN左边的表是主表,RIGHT JOIN右边的表是主表;
  
  ON表达了两个表连接的条件,一般外联接是等值联接,不等值联接意义不大;
  
  在多个表的连接中,一个表既可以做主表又同时可以做从表,为了说明这个问题,我们修改以上SQL为:
  
  select a.order_id, b.f_name, c.p_name
  from orders a left join firms b on a.firm_id = b.firm_id
  right join products c on a.order_id = c.p_id
  
  这个SQL没有什么意义,但从中可以看出a表既是b的主表又是c的从表;到底怎么用,还是要根据实际情况来决定是左联接还是右联接;
  
  那天,看到了这样一个例子:
  create table tab1 (c1 int, c2 int, c3 int)
  create table tab2 (c1 int, c2 int, c3 int)
  create table tab3 (c1 int, c2 int, c3 int)
  create table tab4 (c1 int, c2 int, c3 int)
  
  SELECT *
  FROM tab1 LEFT OUTER JOIN tab2 ON tab1.c3 = tab2.c3
  left OUTER JOIN tab3 right OUTER JOIN tab4
  ON tab3.c1 = tab4.c1
  ON tab2.c3 = tab4.c3
  
  这种用法还真少见,具体怎么个意思,还在理解中...
  
  我把它改写成:
  SELECT *
  FROM tab1 left JOIN tab2 ON tab1.c3 = tab2.c3
  LEFT OUTER JOIN tab4 ON tab2.c3 = tab4.c3
  RIGHT OUTER JOIN tab3 ON tab3.c1 = tab4.c1
  
  也许它们是一个意思。
  
  我发现加个括号,看的更清楚一些(它是个嵌套)
  
  SELECT *
  FROM tab1 LEFT OUTER JOIN tab2 ON tab1.c3 = tab2.c3
  left OUTER JOIN
  (tab3 right OUTER JOIN tab4
  ON tab3.c1 = tab4.c1)
  ON tab2.c3 = tab4.c3
上一篇:Function怎么返回一个数据集? 人气:470
下一篇:关于三种JOIN的理解 人气:516
浏览全部Oracle教程的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-5 Coppermine Photo Gallery v1.4.
2008-9-5 清松网络日记本 v2.4
2008-9-5 AyWeb企业网站管理系统 v2.3 bui
2008-9-5 美女写真小偷程序联盟 v3.0 buil
2008-9-5 老Y文章管理系统 v2.1
2008-9-5 SiteDynamic企业网站管理系统 v1
2008-9-5 MyCOM企业网站管理系统 v1.0 Bui
2008-9-5 乐风CMS影视版 2008
2008-9-5 幻影电影视频系统TvsCms v1.3 伪
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵