`
seawavenews
  • 浏览: 231667 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

ORACLE和SQL SERVER的SQL语句中的一些区别

阅读更多
应用页:http://cache.baidu.com/c?word=oracle9%2Cupper&url=http%3A//topic%2Ecsdn%2Enet/t/20040824/21/3305997%2Ehtml&b=37&a=17&user=baidu

sql语法基本一样,sql函数差别比较大  
  存储过程语法差别比较大。  
   
 
Top
2楼  hevin   (没有什么是不可能的) 一星用户 该版得分小于等于10000分,大于5000分  回复于 2004-08-24 21:35:56  得分 10

SQL   Server:  
  Oracle:  
   
  Select   top   1   *   from   tablename    
  Select   *   from   tablename   where   rownum   <   2  
   
   
  Select   A.*,   B.*   from   A   left   Join   B   on   A.bh=B.bh  
  Select   A.*,   B.*   from   A,   B   where   A.bh=B.bh(+)  
   
  Select   A.*,   B.*   from   A   right   join   B   where   A.bh=B.bh  
  Select   A.*,   B.*   from   A,   B   where   A.bh(+)=B.bh  
   
  Select   *   from   tablename   where   lrsj   >=   ‘2002-11-11’  
  Select   *   from   tablename   where   lrsj>=   to_date(‘2002-11-11’,’yyyy-mm-dd’)  
   
  Select   getdate()  
  Select   sysdate   from   dual  
   
  Select   Field1+Field2   from   A  
  Select   Field1   ||   Field2   from   A   (指字符串的)  
   
 
Top
3楼  drabit   (square) 二星用户 该版得分小于等于30000分,大于10000分  回复于 2004-08-24 21:43:44  得分 10

<<  
  Select   A.*,   B.*   from   A   left   Join   B   on   A.bh=B.bh  
  Select   A.*,   B.*   from   A,   B   where   A.bh=B.bh(+)  
  >>  
   
  oracle9开始支持join写法
Top
4楼  dinya2003   (OK) 二星用户 该版得分小于等于30000分,大于10000分  回复于 2004-08-25 08:09:31  得分 10

标准的SQL是一样的.   SQL的扩展部分各自有不同的语法    
  sql   server   :Transact-SQL  
  oracle           :PL/SQL  
  有一本<SQL轻松掌握>的书里面有介绍.
Top
5楼  freddy2003   () 二星用户 该版得分小于等于30000分,大于10000分  回复于 2004-08-25 08:16:07  得分 10

SQL21自学通
Top
6楼  tianmingchun   (flydream) 一级用户 该版得分小于等于100分  回复于 2004-08-25 08:31:01  得分 5

hevin(刚出道,CODING)   您好,哪儿有oracle的中文函数和语法帮助手册?
Top
7楼  tjandy   (ANDY) 二级用户 该版得分小于等于500分,大于100分  回复于 2004-08-25 13:56:42  得分 5

你给我邮箱,我给你发个文档  
 
Top
8楼  colourbear   () 一级用户 该版得分小于等于100分  回复于 2004-08-26 09:27:43  得分 0

能给我一个吗  
  chenshihong0223@hotmail.com  
  谢谢
Top
9楼  hevin   (没有什么是不可能的) 一星用户 该版得分小于等于10000分,大于5000分  回复于 2004-08-26 09:49:32  得分 0

这里有一个oracle的不太全的但比较常用函数说明:  
   
  SQL中的单记录函数  
  1.ASCII  
  返回与指定的字符对应的十进制数;  
  SQL>   select   ascii('A')   A,ascii('a')   a,ascii('0')   zero,ascii('   ')   space   from   dual;  
   
                  A                   A             ZERO           SPACE  
  ---------   ---------   ---------   ---------  
                65                 97                 48                 32  
   
   
  2.CHR  
  给出整数,返回对应的字符;  
  SQL>   select   chr(54740)   zhao,chr(65)   chr65   from   dual;  
   
  ZH   C  
  --   -  
  赵   A  
   
  3.CONCAT  
  连接两个字符串;  
  SQL>   select   concat('010-','88888888')||'转23'     高乾竞电话   from   dual;  
   
  高乾竞电话  
  ----------------  
  010-88888888转23  
   
  4.INITCAP  
  返回字符串并将字符串的第一个字母变为大写;  
  SQL>   select   initcap('smith')   upp   from   dual;  
   
  UPP  
  -----  
  Smith  
   
   
  5.INSTR(C1,C2,I,J)  
  在一个字符串中搜索指定的字符,返回发现指定的字符的位置;  
  C1         被搜索的字符串  
  C2         希望搜索的字符串  
  I           搜索的开始位置,默认为1  
  J           出现的位置,默认为1  
  SQL>   select   instr('oracle   traning','ra',1,2)   instring   from   dual;  
   
    INSTRING  
  ---------  
                  9  
   
   
  6.LENGTH  
  返回字符串的长度;  
  SQL>   select   name,length(name),addr,length(addr),sal,length(to_char(sal))   from   gao.nchar_tst;  
   
  NAME       LENGTH(NAME)   ADDR                           LENGTH(ADDR)               SAL   LENGTH(TO_CHAR(SAL))  
  ------   ------------   ----------------   ------------   ---------   --------------------  
  高乾竞                         3   北京市海锭区                                 6       9999.99                                         7  
   
   
   
  7.LOWER  
  返回字符串,并将所有的字符小写  
  SQL>   select   lower('AaBbCcDd')AaBbCcDd   from   dual;  
   
  AABBCCDD  
  --------  
  aabbccdd  
   
   
  8.UPPER  
  返回字符串,并将所有的字符大写  
  SQL>   select   upper('AaBbCcDd')   upper   from   dual;  
   
  UPPER  
  --------  
  AABBCCDD  
   
   
   
  9.RPAD和LPAD(粘贴字符)  
  RPAD     在列的右边粘贴字符  
  LPAD     在列的左边粘贴字符  
  SQL>   select   lpad(rpad('gao',10,'*'),17,'*')from   dual;  
   
  LPAD(RPAD('GAO',1  
  -----------------  
  *******gao*******  
  不够字符则用*来填满  
   
   
  10.LTRIM和RTRIM  
  LTRIM     删除左边出现的字符串  
  RTRIM     删除右边出现的字符串  
  SQL>   select   ltrim(rtrim('       gao   qian   jing       ','   '),'   ')   from   dual;  
   
  LTRIM(RTRIM('  
  -------------  
  gao   qian   jing  
   
   
  11.SUBSTR(string,start,count)  
  取子字符串,从start开始,取count个  
  SQL>   select   substr('13088888888',3,8)   from   dual;  
   
  SUBSTR('  
  --------  
  08888888  
   
   
  12.REPLACE('string','s1','s2')  
  string       希望被替换的字符或变量    
  s1               被替换的字符串  
  s2               要替换的字符串  
  SQL>   select   replace('he   love   you','he','i')   from   dual;  
   
  REPLACE('H  
  ----------  
  i   love   you  
   
   
  13.SOUNDEX  
  返回一个与给定的字符串读音相同的字符串  
  SQL>   create   table   table1(xm   varchar(8));  
  SQL>   insert   into   table1   values('weather');  
  SQL>   insert   into   table1   values('wether');  
  SQL>   insert   into   table1   values('gao');  
   
  SQL>   select   xm   from   table1   where   soundex(xm)=soundex('weather');  
   
  XM  
  --------  
  weather  
  wether
Top
10楼  yemao20   () 一级用户 该版得分小于等于100分  回复于 2004-08-26 09:49:37  得分 0

发给我一份吗  
  yemao20@hotmail.com  
  谢谢  
 
Top
11楼  hevin   (没有什么是不可能的) 一星用户 该版得分小于等于10000分,大于5000分  回复于 2004-08-26 09:49:57  得分 0

 
  14.TRIM('s'   from   'string')  
  LEADING       剪掉前面的字符  
  TRAILING     剪掉后面的字符  
  如果不指定,默认为空格符    
   
  15.ABS  
  返回指定值的绝对值  
  SQL>   select   abs(100),abs(-100)   from   dual;  
   
    ABS(100)   ABS(-100)  
  ---------   ---------  
              100               100  
   
   
  16.ACOS  
  给出反余弦的值  
  SQL>   select   acos(-1)   from   dual;  
   
    ACOS(-1)  
  ---------  
  3.1415927  
   
   
  17.ASIN  
  给出反正弦的值  
  SQL>   select   asin(0.5)   from   dual;  
   
  ASIN(0.5)  
  ---------  
  .52359878  
   
   
  18.ATAN  
  返回一个数字的反正切值  
  SQL>   select   atan(1)   from   dual;  
   
      ATAN(1)  
  ---------  
  .78539816  
   
   
  19.CEIL  
  返回大于或等于给出数字的最小整数  
  SQL>   select   ceil(3.1415927)   from   dual;  
   
  CEIL(3.1415927)  
  ---------------  
                              4  
   
   
  20.COS  
  返回一个给定数字的余弦  
  SQL>   select   cos(-3.1415927)   from   dual;  
   
  COS(-3.1415927)  
  ---------------  
                            -1  
   
   
  21.COSH  
  返回一个数字反余弦值  
  SQL>   select   cosh(20)   from   dual;  
   
    COSH(20)  
  ---------  
  242582598  
   
   
  22.EXP  
  返回一个数字e的n次方根  
  SQL>   select   exp(2),exp(1)   from   dual;  
   
        EXP(2)         EXP(1)  
  ---------   ---------  
  7.3890561   2.7182818  
   
   
  23.FLOOR  
  对给定的数字取整数  
  SQL>   select   floor(2345.67)   from   dual;  
   
  FLOOR(2345.67)  
  --------------  
                      2345  
   
   
  24.LN  
  返回一个数字的对数值  
  SQL>   select   ln(1),ln(2),ln(2.7182818)   from   dual;  
   
          LN(1)           LN(2)   LN(2.7182818)  
  ---------   ---------   -------------  
                  0   .69314718           .99999999  
   
   
  25.LOG(n1,n2)  
  返回一个以n1为底n2的对数    
  SQL>   select   log(2,1),log(2,4)   from   dual;  
   
    LOG(2,1)     LOG(2,4)  
  ---------   ---------  
                  0                   2  
   
   
  26.MOD(n1,n2)  
  返回一个n1除以n2的余数  
  SQL>   select   mod(10,3),mod(3,3),mod(2,3)   from   dual;  
   
  MOD(10,3)     MOD(3,3)     MOD(2,3)  
  ---------   ---------   ---------  
                  1                   0                   2  
   
   
  27.POWER  
  返回n1的n2次方根  
  SQL>   select   power(2,10),power(3,3)   from   dual;  
   
  POWER(2,10)   POWER(3,3)  
  -----------   ----------  
                1024                   27  
   
   
  28.ROUND和TRUNC  
  按照指定的精度进行舍入  
  SQL>   select   round(55.5),round(-55.4),trunc(55.5),trunc(-55.5)   from   dual;  
   
  ROUND(55.5)   ROUND(-55.4)   TRUNC(55.5)   TRUNC(-55.5)  
  -----------   ------------   -----------   ------------  
                    56                     -55                     55                     -55  
   
   
  29.SIGN  
  取数字n的符号,大于0返回1,小于0返回-1,等于0返回0  
  SQL>   select   sign(123),sign(-100),sign(0)   from   dual;  
   
  SIGN(123)   SIGN(-100)       SIGN(0)  
  ---------   ----------   ---------  
                  1                   -1                   0  
   
   
  30.SIN  
  返回一个数字的正弦值  
  SQL>   select   sin(1.57079)   from   dual;  
   
  SIN(1.57079)  
  ------------  
                        1  
   
   
  31.SIGH  
  返回双曲正弦的值  
  SQL>   select   sin(20),sinh(20)   from   dual;  
   
      SIN(20)     SINH(20)  
  ---------   ---------  
  .91294525   242582598  
   
   
  32.SQRT  
  返回数字n的根  
  SQL>   select   sqrt(64),sqrt(10)   from   dual;  
   
    SQRT(64)     SQRT(10)  
  ---------   ---------  
                  8   3.1622777  
   
   
  33.TAN  
  返回数字的正切值  
  SQL>   select   tan(20),tan(10)   from   dual;  
   
      TAN(20)       TAN(10)  
  ---------   ---------  
  2.2371609   .64836083  
   
   
  34.TANH  
  返回数字n的双曲正切值  
  SQL>   select   tanh(20),tan(20)   from   dual;  
   
    TANH(20)       TAN(20)  
  ---------   ---------  
                  1   2.2371609  
 
Top
12楼  hevin   (没有什么是不可能的) 一星用户 该版得分小于等于10000分,大于5000分  回复于 2004-08-26 09:50:26  得分 0

 
  35.TRUNC  
  按照指定的精度截取一个数  
  SQL>   select   trunc(124.1666,-2)   trunc1,trunc(124.16666,2)   from   dual;  
   
        TRUNC1   TRUNC(124.16666,2)  
  ---------   ------------------  
              100                           124.16  
   
   
   
  36.ADD_MONTHS  
  增加或减去月份  
  SQL>   select   to_char(add_months(to_date('199912','yyyymm'),2),'yyyymm')   from   dual;  
   
  TO_CHA  
  ------  
  200002  
  SQL>   select   to_char(add_months(to_date('199912','yyyymm'),-2),'yyyymm')   from   dual;  
   
  TO_CHA  
  ------  
  199910  
   
   
  37.LAST_DAY  
  返回日期的最后一天  
  SQL>   select   to_char(sysdate,'yyyy.mm.dd'),to_char((sysdate)+1,'yyyy.mm.dd')   from   dual;  
   
  TO_CHAR(SY   TO_CHAR((S  
  ----------   ----------  
  2004.05.09   2004.05.10  
  SQL>   select   last_day(sysdate)   from   dual;  
   
  LAST_DAY(S  
  ----------  
  31-5月   -04  
   
   
  38.MONTHS_BETWEEN(date2,date1)  
  给出date2-date1的月份  
  SQL>   select   months_between('19-12月-1999','19-3月-1999')   mon_between   from   dual;  
   
  MON_BETWEEN  
  -----------  
                      9  
  SQL>selectmonths_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.mm.dd'))   mon_betw   from   dual;  
   
    MON_BETW  
  ---------  
              -60  
   
   
  39.NEW_TIME(date,'this','that')  
  给出在this时区=other时区的日期和时间  
  SQL>   select   to_char(sysdate,'yyyy.mm.dd   hh24:mi:ss')   bj_time,to_char(new_time  
      2     (sysdate,'PDT','GMT'),'yyyy.mm.dd   hh24:mi:ss')   los_angles   from   dual;  
   
  BJ_TIME                           LOS_ANGLES  
  -------------------   -------------------  
  2004.05.09   11:05:32   2004.05.09   18:05:32  
   
   
  40.NEXT_DAY(date,'day')  
  给出日期date和星期x之后计算下一个星期的日期  
  SQL>   select   next_day('18-5月-2001','星期五')   next_day   from   dual;  
   
  NEXT_DAY  
  ----------  
  25-5月   -01  
   
   
   
  41.SYSDATE  
  用来得到系统的当前日期  
  SQL>   select   to_char(sysdate,'dd-mm-yyyy   day')   from   dual;  
   
  TO_CHAR(SYSDATE,'  
  -----------------  
  09-05-2004   星期日  
  trunc(date,fmt)按照给出的要求将日期截断,如果fmt='mi'表示保留分,截断秒  
  SQL>   select   to_char(trunc(sysdate,'hh'),'yyyy.mm.dd   hh24:mi:ss')   hh,  
      2     to_char(trunc(sysdate,'mi'),'yyyy.mm.dd   hh24:mi:ss')   hhmm   from   dual;  
   
  HH                                     HHMM  
  -------------------   -------------------  
  2004.05.09   11:00:00   2004.05.09   11:17:00  
   
   
   
  42.CHARTOROWID  
  将字符数据类型转换为ROWID类型  
  SQL>   select   rowid,rowidtochar(rowid),ename   from   scott.emp;  
   
  ROWID                             ROWIDTOCHAR(ROWID)   ENAME  
  ------------------   ------------------   ----------  
  AAAAfKAACAAAAEqAAA   AAAAfKAACAAAAEqAAA   SMITH  
  AAAAfKAACAAAAEqAAB   AAAAfKAACAAAAEqAAB   ALLEN  
  AAAAfKAACAAAAEqAAC   AAAAfKAACAAAAEqAAC   WARD  
  AAAAfKAACAAAAEqAAD   AAAAfKAACAAAAEqAAD   JONES  
   
   
  43.CONVERT(c,dset,sset)  
  将源字符串   sset从一个语言字符集转换到另一个目的dset字符集  
  SQL>   select   convert('strutz','we8hp','f7dec')   "conversion"   from   dual;  
   
  conver  
  ------  
  strutz  
   
   
  44.HEXTORAW  
  将一个十六进制构成的字符串转换为二进制  
   
   
  45.RAWTOHEXT  
  将一个二进制构成的字符串转换为十六进制  
   
   
   
  46.ROWIDTOCHAR  
  将ROWID数据类型转换为字符类型  
   
   
   
  47.TO_CHAR(date,'format')  
  SQL>   select   to_char(sysdate,'yyyy/mm/dd   hh24:mi:ss')   from   dual;  
   
  TO_CHAR(SYSDATE,'YY  
  -------------------  
  2004/05/09   21:14:41  
   
   
   
  48.TO_DATE(string,'format')  
  将字符串转化为ORACLE中的一个日期  
   
   
  49.TO_MULTI_BYTE  
  将字符串中的单字节字符转化为多字节字符  
  SQL>     select   to_multi_byte('高')   from   dual;  
   
  TO  
  --  
  高  
   
   
  50.TO_NUMBER  
  将给出的字符转换为数字  
  SQL>   select   to_number('1999')   year   from   dual;  
   
            YEAR  
  ---------  
            1999  
   
   
  51.BFILENAME(dir,file)  
  指定一个外部二进制文件  
  SQL>insert   into   file_tb1   values(bfilename('lob_dir1','image1.gif'));  
   
   
  52.CONVERT('x','desc','source')  
  将x字段或变量的源source转换为desc  
  SQL>   select   sid,serial#,username,decode(command,  
      2     0,'none',  
      3     2,'insert',  
      4     3,  
      5     'select',  
      6     6,'update',  
      7     7,'delete',  
      8     8,'drop',  
      9     'other')   cmd     from   v$session   where   type!='background';  
   
              SID       SERIAL#   USERNAME                                               CMD  
  ---------   ---------   ------------------------------   ------  
                  1                   1                                                                 none  
                  2                   1                                                                 none  
                  3                   1                                                                 none  
                  4                   1                                                                 none  
                  5                   1                                                                 none  
                  6                   1                                                                 none  
                  7             1275                                                                 none  
                  8             1275                                                                 none  
                  9                 20   GAO                                                         select  
                10                 40   GAO                                                         none  
   
   
  53.DUMP(s,fmt,start,length)  
  DUMP函数以fmt指定的内部数字格式返回一个VARCHAR2类型的值  
  SQL>   col   global_name   for   a30  
  SQL>   col   dump_string   for   a50  
  SQL>   set   lin   200  
  SQL>   select   global_name,dump(global_name,1017,8,5)   dump_string   from   global_name;  
   
  GLOBAL_NAME                                         DUMP_STRING  
  ------------------------------   --------------------------------------------------  
  ORACLE.WORLD                                       Typ=1   Len=12   CharacterSet=ZHS16GBK:   W,O,R,L,D  
   
   
  54.EMPTY_BLOB()和EMPTY_CLOB()  
  这两个函数都是用来对大数据类型字段进行初始化操作的函数  
   
   
  55.GREATEST  
  返回一组表达式中的最大值,即比较字符的编码大小.  
  SQL>   select   greatest('AA','AB','AC')   from   dual;  
   
  GR  
  --  
  AC  
  SQL>   select   greatest('啊','安','天')   from   dual;  
   
  GR  
  --  
  天  
   
   
  56.LEAST  
  返回一组表达式中的最小值    
  SQL>   select   least('啊','安','天')   from   dual;  
   
  LE  
  --  
  啊  
   
   
  57.UID  
  返回标识当前用户的唯一整数  
  SQL>   show   user  
  USER   为"GAO"  
  SQL>   select   username,user_id   from   dba_users   where   user_id=uid;  
   
  USERNAME                                                   USER_ID  
  ------------------------------   ---------  
  GAO                                                                       25  
   
   
   
  58.USER  
  返回当前用户的名字  
  SQL>   select   user   from     dual;  
   
  USER  
  ------------------------------  
  GAO  
   
   
  59.USEREVN  
  返回当前用户环境的信息,opt可以是:  
  ENTRYID,SESSIONID,TERMINAL,ISDBA,LABLE,LANGUAGE,CLIENT_INFO,LANG,VSIZE  
  ISDBA     查看当前用户是否是DBA如果是则返回true  
  SQL>   select   userenv('isdba')   from   dual;  
   
  USEREN  
  ------  
  FALSE  
  SQL>   select   userenv('isdba')   from   dual;  
   
  USEREN  
  ------  
  TRUE  
  SESSION  
  返回会话标志  
  SQL>   select   userenv('sessionid')   from   dual;  
   
  USERENV('SESSIONID')  
  --------------------  
                                    152  
  ENTRYID  
  返回会话人口标志  
  SQL>   select   userenv('entryid')   from   dual;  
   
  USERENV('ENTRYID')  
  ------------------  
                                    0  
  INSTANCE  
  返回当前INSTANCE的标志  
  SQL>   select   userenv('instance')   from   dual;  
   
  USERENV('INSTANCE')  
  -------------------  
                                      1  
  LANGUAGE  
  返回当前环境变量  
  SQL>   select   userenv('language')   from   dual;  
   
  USERENV('LANGUAGE')  
  ----------------------------------------------------  
  SIMPLIFIED   CHINESE_CHINA.ZHS16GBK  
  LANG  
  返回当前环境的语言的缩写  
  SQL>   select   userenv('lang')   from   dual;  
   
  USERENV('LANG')  
  ----------------------------------------------------  
  ZHS  
  TERMINAL  
  返回用户的终端或机器的标志  
  SQL>   select   userenv('terminal')   from   dual;  
   
  USERENV('TERMINA  
  ----------------  
  GAO  
  VSIZE(X)  
  返回X的大小(字节)数  
  SQL>   select   vsize(user),user   from   dual;  
   
  VSIZE(USER)   USER  
  -----------   ------------------------------  
                      6   SYSTEM
Top
13楼  hevin   (没有什么是不可能的) 一星用户 该版得分小于等于10000分,大于5000分  回复于 2004-08-26 09:50:44  得分 0

 
  60.AVG(DISTINCT|ALL)  
  all表示对所有的值求平均值,distinct只对不同的值求平均值  
  SQLWKS>   create   table   table3(xm   varchar(8),sal   number(7,2));  
  语句已处理。  
  SQLWKS>     insert   into   table3   values('gao',1111.11);  
  SQLWKS>     insert   into   table3   values('gao',1111.11);  
  SQLWKS>     insert   into   table3   values('zhu',5555.55);  
  SQLWKS>   commit;  
   
  SQL>   select   avg(distinct   sal)   from   gao.table3;  
   
  AVG(DISTINCTSAL)  
  ----------------  
                    3333.33  
   
  SQL>   select   avg(all   sal)   from   gao.table3;  
   
  AVG(ALLSAL)  
  -----------  
          2592.59  
   
   
  61.MAX(DISTINCT|ALL)  
  求最大值,ALL表示对所有的值求最大值,DISTINCT表示对不同的值求最大值,相同的只取一次  
  SQL>   select   max(distinct   sal)   from   scott.emp;  
   
  MAX(DISTINCTSAL)  
  ----------------  
                          5000  
   
   
  62.MIN(DISTINCT|ALL)  
  求最小值,ALL表示对所有的值求最小值,DISTINCT表示对不同的值求最小值,相同的只取一次  
  SQL>   select   min(all   sal)   from   gao.table3;  
   
  MIN(ALLSAL)  
  -----------  
          1111.11  
   
   
  63.STDDEV(distinct|all)  
  求标准差,ALL表示对所有的值求标准差,DISTINCT表示只对不同的值求标准差  
  SQL>   select   stddev(sal)   from   scott.emp;  
   
  STDDEV(SAL)  
  -----------  
      1182.5032  
   
  SQL>   select   stddev(distinct   sal)   from   scott.emp;  
   
  STDDEV(DISTINCTSAL)  
  -------------------  
                        1229.951  
   
   
   
  64.VARIANCE(DISTINCT|ALL)  
  求协方差    
   
  SQL>   select   variance(sal)   from   scott.emp;  
   
  VARIANCE(SAL)  
  -------------  
          1398313.9  
   
   
  65.GROUP   BY  
  主要用来对一组数进行统计  
  SQL>   select   deptno,count(*),sum(sal)   from   scott.emp   group   by   deptno;  
   
        DEPTNO     COUNT(*)     SUM(SAL)  
  ---------   ---------   ---------  
                10                   3             8750  
                20                   5           10875  
                30                   6             9400  
   
   
   
  66.HAVING  
  对分组统计再加限制条件  
  SQL>   select   deptno,count(*),sum(sal)   from   scott.emp   group   by   deptno   having   count(*)>=5;  
   
        DEPTNO     COUNT(*)     SUM(SAL)  
  ---------   ---------   ---------  
                20                   5           10875  
                30                   6             9400  
  SQL>   select   deptno,count(*),sum(sal)   from   scott.emp   having   count(*)>=5   group   by   deptno   ;  
   
        DEPTNO     COUNT(*)     SUM(SAL)  
  ---------   ---------   ---------  
                20                   5           10875  
                30                   6             9400  
   
   
  67.ORDER   BY  
  用于对查询到的结果进行排序输出  
  SQL>   select   deptno,ename,sal   from   scott.emp   order   by   deptno,sal   desc;  
   
        DEPTNO   ENAME                         SAL  
  ---------   ----------   ---------  
                10   KING                         5000  
                10   CLARK                       2450  
                10   MILLER                     1300  
                20   SCOTT                       3000  
                20   FORD                         3000  
                20   JONES                       2975  
                20   ADAMS                       1100  
                20   SMITH                         800  
                30   BLAKE                       2850  
                30   ALLEN                       1600  
                30   TURNER                     1500  
                30   WARD                         1250  
                30   MARTIN                     1250  
                30   JAMES                         950
Top
14楼  yuanhong198225   (落花含情,流水有意) 一级用户 该版得分小于等于100分  回复于 2004-08-27 20:57:17  得分 0

tjandy(ANDY)   能给我也发一份文档吗?谢谢!  
  yuanhong_198225@163.com 
分享到:
评论

相关推荐

    Oracle和SqlServer语法区别

    Oracle和SqlServer是两种流行的关系型数据库管理系统,它们之间存在着一些语法区别。了解这些区别对于开发者来说非常重要,因为它可以帮助他们更好地迁移到新的数据库管理系统。下面将概述Oracle和SqlServer语法之间...

    sqlserver自动生成sql语句工具sqlserver转oracle

    首先,标题中的"sqlserver自动生成sql语句工具"指的是可以分析SQL Server数据库结构和数据,自动生成对应的SQL创建语句的软件。这种工具通常能帮助数据库管理员快速获取数据库的定义,便于备份、迁移或在其他环境中...

    ORACLE和SQL Server的语法区别

    本文主要介绍Oracle与SQL Server在SQL语言层面的异同之处,重点在于Transact-SQL(T-SQL)与PL/SQL之间的区别,并提供了一些迁移策略。对于希望将现有的Oracle数据库系统迁移至SQL Server平台的用户来说,这些知识尤...

    Oracle Sql语句转换成Mysql Sql语句

    OracleSqlConvert4MysqlSqlTool.java这个源码工具,根据描述,应该是实现了自动读取Oracle SQL语句,分析其结构,并根据MySQL的语法规则进行转换,然后将转换后的SQL语句保存到指定的目标文件中。这个工具简化了手动...

    oracle与SQL server的语法差异总结

    Oracle 和 SQL Server 是两种广泛应用的关系型数据库管理系统,它们在语法和功能上存在一定的差异。以下是对两者主要区别的一些详细说明: 1. **伪列 ROWNUM**: 在Oracle中,ROWNUM是一个伪列,用于获取结果集中...

    ORACLE与SQLSERVER中的语法区别

    这篇文章将详细介绍 ORACLE 和 SQL Server 中的语法区别,并提供一些实用的示例代码。 SELECT 语句 在 ORACLE 中,SELECT 语句使用 `ROWNUM` 伪列来限制返回的记录数,而在 SQL Server 中,使用 `TOP` 语句。例如...

    oracle到sqlserver存储过程语法转换

    在数据库迁移项目中,从Oracle迁移到SQL Server是一种常见的场景。本文旨在提供一份详细的指南,帮助开发者更好地理解这两种数据库系统在存储过程方面的语法差异,并指导如何进行有效的转换。 #### 一、基本语法...

    Oracle和SQL_Server的语法区别

    在将 Oracle 数据库中的数据操作语言(DML)语句和过程化语言(PL/SQL)程序迁移至 SQL Server 时,需要考虑以下几个关键点: 1. **DML 语句的语法验证**: - 对于 SELECT、INSERT、UPDATE 和 DELETE 语句,首先要...

    Sqlserver转Oracle工具

    连接sqlserver数据库后选择相应的数据库-数据表以及目标数据库(目前只有oracle),可以将sqlserver转换成oracle数据,有两种方式,点击转换sql按钮,可以生成sql语句,复制语句到oracle里执行。第二种是连接oracle...

    oracle,sqlserver及mysql对比

    Oracle、SQL Server 及 MySQL 的查询语句执行顺序相同:开始-&gt;FROM 子句-&gt;WHERE 子句-&gt;GROUP BY 子句-&gt;HAVING 子句-&gt;ORDER BY 子句-&gt;SELECT 子句-&gt;LIMIT 子句。每个子句执行后都会产生一个中间结果,供接下来的子句...

    SQL Server 到 Oracle 的SQL 语法自动翻译器源码

    该转换过程负则将SQL Server的 一些语法特性翻译为Oracle支持的形式,也包括常用的函数, 支持复杂的SQL,例如嵌套/子查询等。 这是小弟为了一个Oracle项目的应急之作,我们的系统(Delphi的三层架构)一直运行...

    sqlserver数据表向oracle转换

    sqlserver数据表向oracle转换,输入的参数是表名,输出的是建表语句

    java实现oracle和sqlserver数据库转换(包含大数据)

    同时,也需要准备SQL语句在SQL Server中创建表结构和插入数据。 4. **批处理操作**:处理大数据时,批处理是提高效率的关键。通过`Statement.addBatch()`和`Statement.executeBatch()`方法,可以一次性提交多条SQL...

    Sql语法转换为Oracle语法

    标题“Sql语法转换为Oracle语法”涉及到的主要知识点是SQL Server与Oracle数据库之间的SQL语句转换。这通常是因为在系统迁移或跨平台开发时,需要将SQL Server的查询语句适应Oracle数据库的语法。 描述中提到的...

    oracle和sql server区别

    Oracle 和 SQL Server 是两种流行的关系数据库管理系统,它们之间存在一些关键的区别。在本文中,我们将探讨 Oracle 和 SQL Server 之间的主要区别,以帮助您做出正确的选择。 体系结构 -------- Oracle 的文件...

    实现ORACLE与SQLSERVER数据库间的数据抽取与转换工具

    对于Oracle数据库,我们可以使用PL/SQL语句或者Oracle的SQL*Plus工具来实现。在SQL Server中,我们可以利用T-SQL语言进行数据检索。 接下来是数据转换,这个阶段的目标是将从源数据库抽取的数据转化为目标数据库...

    oracle,sql server驱动包

    通过引入这个jar文件,开发者可以使用Java的SQLException和Statement接口等来编写SQL语句,执行数据库查询、更新等操作。 接着是`sqljdbc2000.jar`,它是Microsoft SQL Server的JDBC驱动程序,允许Java应用与SQL ...

    sql_server连接Oracle方法(最全)

    本文将详细介绍如何在 SQL Server 中连接 Oracle 数据库,并解决在连接过程中可能出现的问题。 安装 Oracle 客户端程序 在 SQL Server 所在服务器中安装 Oracle 客户端程序是一个重要的步骤。这一步骤可以帮助我们...

    Sql Server与Oracle的区别

    - **SELECT语句**:尽管基本语法相似,但Oracle支持特定的优化提示和集合运算符如START WITH和CONNECT BY,以及INTERSECT和MINUS,这些在Sql Server中需要通过其他方式实现,比如使用EXISTS和NOT EXISTS子句。...

    oraclesql判断值为空-Oracle-sqlserver的空值(null)判断.pdf

    Oracle SQL 中判断值为空或 Null 的方法有多种,在本文中,我们将介绍 Oracle 和 SQL Server 中的空值判断方法。 Oracle 中的空值判断 在 Oracle 中,可以使用 `NVL` 函数来判断值为空或 Null。`NVL` 函数的语法...

Global site tag (gtag.js) - Google Analytics