CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

"INNER JOIN"在语句的执行中起一个什么作用

楼主anyf(任何风)2005-02-02 21:32:12 在 Oracle / 开发 提问

CREATE   OR   REPLACE   VIEW   TOTAL_NUM   AS  
  SELECT   OSSMAN.ProInStore.ProId,   SUM(OSSMAN.ProInStore.ProNum)   AS   Total  
  FROM   OSSMAN.ProInStore   INNER   JOIN  
  OSSMAN.Product   ON   OSSMAN.ProInStore.ProId   =   OSSMAN.Product.ProId  
  GROUP   BY   OSSMAN.ProInStore.ProId;  
   
  以下的语句执行出错:  
   
  ---------------------------------------------  
  错误位于第4行:  
  ORA-00933:   SQL   命令未正确结束  
  ---------------------------------------------  
   
  :在ORACLE9i中"INNER   JOIN"在语句的执行中起一个什么作用,"ON   "的具体用法是什么的,请大家指点  
  问题点数:0、回复次数:9Top

1 楼fuxia(双子星)回复于 2005-02-03 10:09:26 得分 0

和以前你用,加=号一样的Top

2 楼wzc1997(阿超)回复于 2005-02-03 12:17:04 得分 0

CREATE   OR   REPLACE   VIEW   TOTAL_NUM   AS  
  SELECT   OSSMAN.ProInStore.ProId,   SUM(OSSMAN.ProInStore.ProNum)   AS   Total  
  FROM   OSSMAN.ProInStore   INNER   JOIN  
  OSSMAN.Product   ON   (OSSMAN.ProInStore.ProId   =   OSSMAN.Product.ProId)  
  GROUP   BY   OSSMAN.ProInStore.ProId;  
  Top

3 楼Croatia(Croatia)回复于 2005-02-03 12:29:48 得分 0

INNER   JOIN是等价连接。  
  ON表示通过什么字段联系到一起。  
   
  你写的VIEW是因为缺少了字段的信息,所以不对。  
   
  CREATE   OR   REPLACE   VIEW   TOTAL_NUM    
  (ProId,Total)  
  AS  
  SELECT    
  OSSMAN.ProInStore.ProId,   SUM(OSSMAN.ProInStore.ProNum)   AS   Total  
  FROM   OSSMAN.ProInStore    
  INNER   JOIN   OSSMAN.Product    
  ON   OSSMAN.ProInStore.ProId   =   OSSMAN.Product.ProId  
  GROUP   BY   OSSMAN.ProInStore.ProId;Top

4 楼bisliu(还在潜水的鱼)回复于 2005-02-03 12:36:10 得分 0

用=号吧,更直观!Top

5 楼Croatia(Croatia)回复于 2005-02-03 12:37:30 得分 0

不好意思,我刚才测试了一下,不写字段名,也是可以的。  
   
  我测试的例子。  
   
  CREATE   OR   REPLACE   VIEW   ZHOUXY.TEST  
  AS  
  SELECT   SALE.SHOPID   AS   SHOPID,   SUM(SALE.SALENUM)   AS   Total  
  FROM   SALE   INNER   JOIN  
  T2   ON   SALE.SHOPID   =   T2.SHOPID  
  GROUP   BY   SALE.SHOPID;Top

6 楼gdxuz()回复于 2005-02-03 16:13:15 得分 0

INNER   JOIN   和等号没有区别吗?  
  Top

7 楼anyf(任何风)回复于 2005-02-03 20:05:26 得分 0

这个语句的设定对ORA版本没有要求吧,我用的是比较旧的8.01但相关文档是9I的Top

8 楼ORARichard(没钱的日子......)回复于 2005-02-03 20:19:53 得分 0

9i以下的版本不支持join  
   
  改成  
  CREATE   OR   REPLACE   VIEW   TOTAL_NUM   AS  
  SELECT   OSSMAN.ProInStore.ProId,   SUM(OSSMAN.ProInStore.ProNum)   AS   Total  
  FROM   OSSMAN.ProInStore,OSSMAN.Product  
                    where   OSSMAN.ProInStore.ProId   =   OSSMAN.Product.ProId  
  GROUP   BY   OSSMAN.ProInStore.ProId;  
  Top

9 楼hippie1024(努力必有痕迹)回复于 2005-02-04 09:20:41 得分 0

我们所见的几种JOIN关键字是从9I开始支持的,  
  主要是为了套SQL标准,join关键字符合ISO/ANSI标准Top

相关问题

  • LEFT JOIN语句在ACCESS可执行但在SQLSERVER中不能!
  • 我的一个sql语句执行巨慢,现在就是我执行的inner jion语句特别慢。各位大哥帮我分析分析!
  • 语句没有执行
  • 怎样执行sql语句?
  • 语句的执行顺序
  • update语句执行后
  • sql语句执行问题
  • 如何执行SQL语句
  • 语句定时执行
  • 如何执行sql语句?

关键词

  • 语句
  • 执行
  • view
  • ossman
  • proinstore
  • proid
  • pronum
  • shopid
  • inner
  • asselect

得分解答快速导航

  • 帖主:anyf

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo