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

能给我一个吗  
  [email protected]  
  谢谢
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

发给我一份吗  
  [email protected]  
  谢谢  
 
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)   能给我也发一份文档吗?谢谢!  
  [email protected] 

你可能感兴趣的:(oracle,sql,cache,SQL Server,D语言)