oracle ³£Ó÷ÖÎöº¯Êý
Oracle³£Ó÷ÖÎöº¯Êý
ROW_NUMBER
·µ»ØÓÐÐò×éÖÐÒ»ÐÐµÄÆ«ÒÆÁ¿£¬´Ó¶ø¿ÉÓÃÓÚ°´Ìض¨±ê×¼ÅÅÐòµÄÐкÅ
row_number() over(partition by ... order by ...)
RANK
¸ù¾ÝORDER BY×Ó¾äÖбí´ïʽµÄÖµ£¬´Ó²éѯ·µ»ØµÄÿһÐУ¬¼ÆËãËüÃÇÓëÆäËüÐеÄÏà¶ÔλÖá£×éÄÚµÄÊý¾Ý°´ORDER BY×Ó¾äÅÅÐò£¬È»ºó¸øÃ¿Ò»Ðи³Ò»¸öºÅ£¬´Ó¶øÐγÉÒ»¸öÐòÁУ¬¸ÃÐòÁдÓ1¿ªÊ¼£¬ÍùºóÀÛ¼Ó¡£Ã¿´ÎORDER BY±í´ïʽµÄÖµ·¢Éú±ä»¯Ê±£¬¸ÃÐòÁÐÒ²ËæÖ®Ôö¼Ó¡£ÓÐͬÑùÖµµÄÐеõ½Í¬ÑùµÄÊý×ÖÐòºÅ£¨ÈÏΪnullʱÏàµÈµÄ£©¡£È»¶ø£¬Èç¹ûÁ½ÐеÄÈ·µÃµ½Í¬ÑùµÄÅÅÐò£¬ÔòÐòÊý½«ËæºóÌøÔ¾¡£ÈôÁ½ÐÐÐòÊýΪ1£¬ÔòûÓÐÐòÊý2£¬ÐòÁн«¸ø×éÖеÄÏÂÒ»ÐзÖÅäÖµ3£¬DENSE_RANKÔòûÓÐÈκÎÌøÔ¾
rank() over(partition by ... order by ...)
DENSE_RANK
¸ù¾ÝORDER BY×Ó¾äÖбí´ïʽµÄÖµ£¬´Ó²éѯ·µ»ØµÄÿһÐУ¬¼ÆËãËüÃÇÓëÆäËüÐеÄÏà¶ÔλÖá£×éÄÚµÄÊý¾Ý°´ORDER BY×Ó¾äÅÅÐò£¬È»ºó¸øÃ¿Ò»Ðи³Ò»¸öºÅ£¬´Ó¶øÐγÉÒ»¸öÐòÁУ¬¸ÃÐòÁдÓ1¿ªÊ¼£¬ÍùºóÀÛ¼Ó¡£Ã¿´ÎORDER BY±í´ïʽµÄÖµ·¢Éú±ä»¯Ê±£¬¸ÃÐòÁÐÒ²ËæÖ®Ôö¼Ó¡£ÓÐͬÑùÖµµÄÐеõ½Í¬ÑùµÄÊý×ÖÐòºÅ£¨ÈÏΪnullʱÏàµÈµÄ£©¡£Ãܼ¯µÄÐòÁзµ»ØµÄʱûÓмä¸ôµÄÊý
dense_rank() over(partition by ... order by ...)
COUNT
¶ÔÒ»×éÄÚ·¢ÉúµÄÊÂÇé½øÐÐÀÛ»ý¼ÆÊý£¬Èç¹ûÖ¸¶¨*»òһЩ·Ç¿Õ³£Êý£¬count½«¶ÔËùÓÐÐмÆÊý£¬Èç¹ûÖ¸¶¨Ò»¸ö±í´ïʽ£¬count·µ»Ø±í´ïʽ·Ç¿Õ¸³ÖµµÄ¼ÆÊý£¬µ±ÓÐÏàֵͬ³öÏÖʱ£¬ÕâЩÏàµÈµÄÖµ¶¼»á±»ÄÉÈë±»¼ÆËãµÄÖµ£»¿ÉÒÔʹÓÃDISTINCTÀ´¼Ç¼ȥµôÒ»×éÖÐÍêÈ«ÏàͬµÄÊý¾Ýºó³öÏÖµÄÐÐÊý
count(...) over(partition by ... order by ...)
MAX
ÔÚÒ»¸ö×éÖеÄÊý¾Ý´°¿ÚÖвéÕÒ±í´ïʽµÄ×î´óÖµ
max(...) over(partition by ... order by ...)
MIN
ÔÚÒ»¸ö×éÖеÄÊý¾Ý´°¿ÚÖвéÕÒ±í´ïʽµÄ×îСֵ
min(...) over(partition by ... order by ...)
SUM
¸Ãº¯Êý¼ÆËã×éÖбí´ïʽµÄÀÛ»ýºÍ
sum(...) over(partition by ... order by ...)
AVG
ÓÃÓÚ¼ÆËãÒ»¸ö×éºÍÊý¾Ý´°¿ÚÄÚ±í´ïʽµÄƽ¾ùÖµ
avg(...) over(partition by ... order by ...)
FIRST_VALUE
·µ»ØÊý¾Ý×éÖеÚÒ»¸öÖµ
first_value(...) over(partition by ... order by ...)
LAST_VALUE
·µ»ØÊý¾Ý×éÖÐ×îºóÒ»¸öÖµ
last_value(...) over(partition by ... order by ...)
LAG
¿ÉÒÔ·ÃÎʽá¹û¼¯ÖÐµÄÆäËüÐжø²»ÓýøÐÐ×ÔÁ¬½Ó¡£ËüÔÊÐíÈ¥´¦ÀíÓα꣬¾ÍºÃÏñÓαêÊÇÒ»¸öÊý×éÒ»Ñù¡£ÔÚ¸ø¶¨×éÖпɲο¼µ±Ç°ÐÐ֮ǰµÄÐУ¬ÕâÑù¾Í¿ÉÒÔ´Ó×éÖÐÓ뵱ǰÐÐÒ»ÆðÑ¡ÔñÒÔǰµÄÐС£OffsetÊÇÒ»¸öÕýÕûÊý
Ïà¹ØÎĵµ£º
-- ɾ³ýÖØ¸´¼Ç¼
DELETE from mytable t1 WHERE ROWID > (SELECT MIN (ROWID) from mytable t2 WHERE t1. key = t2.key);
-- µ±Ç°ÈÕÆÚ
SELECT TO_CHAR(SYSDATE, 'yyyy-MM-dd') from DUAL;
-- ÉÏÔµ±Ç°ÈÕÆÚ
SELECT TO_CHAR(ADD_MONTHS(SYSDATE,
-1), 'yyyy-MM-dd') from DUAL;
-- ÏÂÔµ±Ç°ÈÕÆÚ
SELECT
TO_C ......
create table a(
id number primary key,
name varchar2(20)
);
create table b(
id number,
name varchar2(20),
aid number references a(id)
);
insert into a values(1,'1');
insert into b values(1,'aaa',1);
Èç¹û create view vi_new as select * from a
ÔÚÊÓͼvi_new ÉÏ×öÈκΠdml²Ù×÷¶¼»áÐÞ¸Ä ¶ÔÓ¦µÄ ......
ÔÚoracle°²×°Ä¿Â¼$HOME/network/adminÏ£¬¾³£¿´µ½sqlnet.ora tnsnames.ora
listener.oraÕâÈý¸öÎļþ£¬³ýÁËtnsnames.ora£¬ÆäËûÁ½¸öÎļþÏêϸµÄÓÃ;ºÜ¶àÈ˶¼²»Ì«Á˽⡣
sqlnet.ora ÓÃÔÚoracle client¶Ë£¬ÓÃÓÚÅäÖÃÁ¬½Ó·þÎñ¶ËoracleµÄÏà¹Ø²ÎÊý.
tnsnames.ora ÓÃÔÚoracle
client¶Ë£¬Óû§ÅäÖÃÁ¬½ÓÊý¾Ý¿âµÄ±ðÃû²ÎÊý,¾ÍÏñÏµÍ³Ö ......
×°ÁËÒ»Ò¹µÄÈí¼þ£¬ÏÈÊÇMySQL£¬myEclipse,Oracle ,²»¶ÏµÄ³ö´í£¬OracleServise²»ÄÜÆô¶¯£¬ºÜÊÇ·³ÈË£¬Ð¶ÔØÁËOracelÁ½´Î£¬ÓÖ֨װ£¬´íÎóµÃµ½Ò»Ð©½â¾ö£¬×¢²á±í³öÏÖÁ˺öàµÄÎÊÌ⣬ÒÔǰÔÚÐ¶ÔØÈí¼þµÄʱºò£¬¶¼Ã»ÓÐÓÃרÓõŤ¾ß£¬×¢²á±íÒ»ÍÅÂÒ£¬ÕæÊÇÏ൱µÄºó»Ú£¬ÏÖÔÚ¿´À´ÒªÏë¸Ä¹ýÀ´È·ÊµÊǺÜÄѵÄÀ²£¡ÒÔºóÕâ·½ÃæÒª¶à¼ ......
Oracle·¢²¼Ãâ·ÑÊý¾Ý¿â¿ª·¢¹¤¾ßSQL Developer 1.2
2007.09.25 À´×Ô£ºCSDN¡¡ ÄŲ»º° ¹²ÓÐÆÀÂÛ()Ìõ ·¢±íÆÀÂÛ ÊÕ²Ø
Oracle SQL DeveloperÊǼ׹ÇÎĹ«Ë¾Ãâ·ÑÌṩµÄÊý¾Ý¿â¿ª·¢¹¤¾ß£¬¿É°ïÖúÓû§¼ò»¯¿ª·¢¹¤×÷£¬Ìá¸ß±àÖÆºÍµ÷ÊÔSQLºÍPL/SQL´úÂëµÄЧÂÊ¡£ÏÖÔÚ£¬Õâ¸öÃâ·Ñ¹¤ ......