Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ORACLE ÔÚnot inÖÐʹÓÃnullµÄÎÊÌâ

ÒÔǰ»¹×¨ÃÅС×ܽá¹ýÒ»ÏÂORACLEÖйØÓÚNULLµÄһЩÎÊÌ⣬ÅöÇɽñÌìÔÚ¿´ÊéµÄ¹ý³ÌÖÐÓÖ¿´µ½ÁËÁíÍâÒ»¸öÒÔǰû·¢ÏÖµÄÐèҪעÒâµÄµØ·½£¬ÄǾÍÊÇÔÚnot inÖÐʹÓÃnullµÄÎÊÌâ¡£
SQL> select * from dept;
    DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     BOSTON
SQL> select deptno
  2  from dept
  3  where deptno in (10,50,null);
    DEPTNO
----------
        10
//¿´µ½Ê¹ÓÃinµÄʱºò¼´±ãÓÐnull Ò²ÊÇÕý³£µÄ ÏÂÃæ¿´Ò»ÏÂnot in
SQL> select deptno
  2  from dept
  3  where deptno not in (10,50);
    DEPTNO
----------
        20
        30
        40
//ÕâÀï¿´ÆðÀ´ºÍÎÒÃǵÄÔ¤ÆÚͦ·ûºÏµÄŶ
SQL> select deptno
  2  from dept
  3  where deptno not in (10,50,null);
no rows selected
//Ôõô»ØÊ Ϊʲô¼ÓÁ˸önull Ç°ÃæµÄ20¡¢30¡¢40ÈýÌõÊý¾Ý¾Í²»ÏÔʾ³öÀ´ÁË
INºÍNOT IN±¾ÖÊÉ϶¼ÊÇORÔËË㣬Òò¶ø¼ÆËãÂß¼­ORʱ´¦ÀíNULLµÄ·½Ê½²»Í¬£¬²úÉúµÄ½á¹ûÒ²²»Í¬¡£
ÏÂÃæÎÒÃÇ·ÖÎöÒ»ÏÂÇ°ÃæµÄÈýÌõÓï¾ä
SQL> select deptno
  2  from dept
  3  where deptno in (10,50,null);
ÕâÀï¿ÉÒԵȼÛÓÚwhere deptno=10 or deptno=50 or deptno=null£¬ÓÉÓÚÊÇorÏàÁ¬½Ó£¬ÄÇôֻҪÓÐÒ»¸öÌõ¼þΪTRUE£¬Õû¸ö¾ÍιTRUEÁË¡£ËùÒÔdeptnoΪ10µÄ¼Ç¼ÏÔʾ³öÀ´ÁË¡£
SQL> select deptno
  2  from dept
  3  where deptno not in (10,50,null);
ÕâÀïµÈ¼ÛÓÚwhere not (deptno=10 or deptno=50 or deptno=null)£¬ÄÃdeptno=20µÄ¼Ç¼À´¾ÙÀý°É¡£
not (20=10


Ïà¹ØÎĵµ£º

ORACLE WITH AS Ó÷¨

Ô­ÎÄ´«ËÍÃÅ£ºhttp://blog.csdn.net/wh62592855/archive/2009/11/06/4776631.aspx
¼ÇµÃÒÔǰÔÚÂÛ̳Àï¿´µ½inthirtiesÓõ½¹ýWITH ASÕâ¸ö×ÖÑÛ£¬µ±Ê±Ã»ÌرðÔÚÒâ¡£½ñÌìÔÚÒ»¸öÌû×ÓÀïÓÖ¿´µ½ÓÐÈËÓÃÕâ¸ö£¬ËùÒÔ¾ÍÈ¥ÍøÉÏËÑÁËËÑÏà¹ØÄÚÈÝ£¬×Ô¼ºÐ¡ÊÔÁËÒ»°Ñ£¬Ð´ÏÂÀ´£¬·½±ãÒÔºóÍüÁ˵Ļ°Ñ§Ï°¡£
============================================ ......

ORACLE ÔÚWHERE×Ó¾äÖÐÒýÓÃÁбðÃûµÄÎÊÌâ

SQL> select sal,comm from emp
2 where sal<2000;
SAL COMM
---------- ----------
800
1600 300
1250 500
1250 1400
1500 0
1100
950
1300
8 rows selected.
SQL> select sal as salary,comm as ......

oracle·Ö×麯ÊýÖ®ROLLUP

 
1.³õʼ»¯ÊµÑ黵¾³
1£©´´½¨²âÊÔ±ígroup_test
sec@ora10g> create table group_test (group_id int, job varchar2(10), name varchar2(10), salary int);
¡¡
Table created.
¡¡
2£©³õʼ»¯Êý¾Ý
insert into group_test values (10,'Coding',    'Bruce',1000);
insert into group_test val ......

Oracle ÈÕÆÚ/ʱ¼äµÄÏà¹Ø²Ù×÷

¡¡¡¡±¾ÎĽéÉÜÁËÔÚOracleÊý¾Ý¿âÖУ¬¶ÔÈÕÆÚ¡¢Ê±¼äµÄ¸÷ÖÖ²Ù×÷£¬°üÀ¨£ºÈÕÆÚʱ¼ä¼ä¸ô²Ù×÷¡¢ÈÕÆÚµ½×Ö·û²Ù×÷¡¢×Ö·ûµ½ÈÕÆÚ²Ù×÷¡¢trunk / ROUNDº¯ÊýµÄʹÓᢺÁÃë¼¶µÄÊý¾ÝÀàÐ͵ȡ£
1.ÈÕÆÚʱ¼ä¼ä¸ô²Ù×÷
¡¡¡¡µ±Ç°Ê±¼ä¼õÈ¥7·ÖÖÓµÄʱ¼ä
¡¡¡¡select sysdate,sysdate - interval '7' MINUTE from dual
¡¡¡¡µ±Ç°Ê±¼ä¼õÈ¥7СʱµÄʱ¼ä
¡¡¡ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ