Oracle ѧϰ£ºPL/SQLÑÐò½¥½øÈ«Ãæѧϰ½Ì³Ì
¿Î³ÌËÄ ×麯Êý
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡1¡¢Á˽â¿ÉÓõÄ×麯Êý
¡¡¡¡2¡¢ËµÃ÷ÿ¸ö×麯ÊýµÄʹÓ÷½·¨
¡¡¡¡3¡¢Ê¹ÓÃGROUP BY
¡¡¡¡4¡¢Í¨¹ýHAVINGÀ´ÏÞÖÆ·µ»Ø×é
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎÄ°ë½Ç
¡¡¡¡Ò»¡¢¸ÅÄ
¡¡¡¡×麯ÊýÊÇÖ¸°´Ã¿×é·µ»Ø½á¹ûµÄº¯Êý¡£
¡¡¡¡×麯Êý¿ÉÒÔ³öÏÖÔÚSELECTºÍHAVING ×Ö¶ÎÖС£
¡¡¡¡GROUP BY°ÑSELECT µÄ½á¹û¼¯·Ö³É¼¸¸öС×é¡£
¡¡¡¡HAVING À´ÏÞÖÆ·µ»Ø×飬¶ÔRESULT SET¶øÑÔ¡£
¡¡¡¡¶þ¡¢×麯Êý£º(#ºÅµÄº¯Êý²»×öÖصã)
¡¡¡¡1¡¢AVG
¡¡¡¡2¡¢COUNT
¡¡¡¡3¡¢MAX
¡¡¡¡4¡¢MIN
¡¡¡¡5¡¢STDDEV¡¡#
¡¡¡¡6¡¢SUM
¡¡¡¡7¡¢VARIANCE¡¡#
¡¡¡¡Óï·¨£º
¡¡¡¡SELECT column, group_function
¡¡¡¡from table
¡¡¡¡[WHERE condition]
¡¡¡¡[GROUP BY group_by_expression]
¡¡¡¡[HAVING group_condition]
¡¡¡¡[ORDER BY column];
¡¡¡¡ÊµÀý1£ºÒ»¸ö»ìºÏʵÀý£¬ËµÃ÷ËùÓÐÎÊÌ⣺
¡¡¡¡SQL> SELECT AVG(salary), MAX(salary), MIN(salary),
¡¡¡¡2 SUM(salary)
¡¡¡¡3 from s_emp
¡¡¡¡4 WHERE UPPER(title) LIKE ’SALES%’;
¡¡¡¡AVG(SALARY) MAX(SALARY) MIN(SALARY) SUM(SALARY)
¡¡¡¡----------- ----------- ----------- -----------
¡¡¡¡1476¡¡¡¡¡¡ 1525¡¡¡¡¡¡¡¡¡¡1400¡¡¡¡¡¡¡¡7380
¡¡¡¡ËµÃ÷£ººÜ¶àº¯Êý£¬ÎÒÃÇÔÚ½²º¯ÊýµÄÒѾÏò´ó¼Ò½éÉܹý£¬µ«ÔÚ´ËΪºÎ½Ð·Ö×麯ÊýÄØ£¬Ö÷ÒªÊÇÒòΪËüÃÇ¿ÉÒÔÓëGROUP
BYÀ´ÐγɶԲ»Í¬×éµÄ¼ÆË㣬Ï൱ÓÚÔںܶàÖµÖнøÐÐÌôÑ¡¡£
¡¡¡¡* MIN MAXº¯Êý¿ÉÒÔ½ÓÈκÎÊý¾ÝÀàÐÍ¡£
¡¡¡¡Èç¹ûÊÇMIN(last_name), MAX(last_name)£¬·µ»ØµÄÊÇʲôÄØ£¿
¡¡¡¡Ç§Íò¼Çס£¬²»ÊÇÖ¸LAST_NAMEµÄ³¤¶È£¬¶øÊÇÖ¸ÔÚFIRST×ÖĸµÄÇ°ºó˳Ðò£¬µÚÒ»¸öÏàͬ£¬È»ºó±È½ÏµÚ¶þ¸ö£¬È磺xdopt
¡¡> cssingkdkdk¡¡>¡¡ adopt¡¡> acccc
¡¡¡¡ÊµÀý2£º
¡¡¡¡SQL> SELECT COUNT(commission_pct)
¡¡¡¡2 from s_emp
¡¡¡¡3 WHERE dept_id = 31;
¡¡¡¡·µ»ØËùÓзǿÕÐиöÊý
¡¡¡¡Èý¡¢GROUP BYµÄÓ¦Óãº
¡¡¡¡ÏÈ¿´Ò»¸ö¼òµ¥ÊµÀý£º
¡¡¡¡SQL> SELECT credit_rating, COUNT(*) ”# Cust”
¡¡¡¡2 from s_customer
¡¡¡¡3 GROUP BY credit_rating;
¡¡¡¡×¢ÒâÕâÀï±ðÃûµÄÓ¦Ó㬸´Ï°Ò»Ï´ÓÇ°µÄ¿Î³Ì£¬¼ÓÁËÒýºÅºó£¬¾Í¿ÉÒÔÓÃÌØÊâ×Ö·û£¬µ«Ò²½öÓÐÈý¸ö£º#$_£¬Ê²Ã´¶ÔÏóµÄ
Ãû×Ö¶¼Èç´Ë¡£µ±È»¿Õ¸ñÒ²ÊÇ¿ÉÒԵġ£
¡¡¡¡¸´ÔÓʵÀý£º
¡¡¡¡SQL> SELECT title, SUM(salary) PAYROLL
¡¡¡¡2 from s_emp
¡¡¡¡3 WHERE title NOT LIKE ’VP%’
Ïà¹ØÎĵµ£º
--ÐÐÁÐת»» ÐÐתÁÐ
DROP TABLE t_change_lc;
CREATE TABLE t_change_lc (card_code VARCHAR2(3), q NUMBER, bal NUMBER);
INSERT INTO t_change_lc
SELECT '001' card_code, ROWNUM q, trunc(dbms_random.VALUE * 100) bal from dual CONNECT BY ROWNUM <= 4
UNION
SELECT '002' card_code, ROWNUM q, trunc(d ......
SQL×¢Èë¹¥»÷µÄΣº¦ÐԺܴó¡£ÔÚ½²½âÆä·ÀÖ¹°ì·¨Ö®Ç°£¬Êý¾Ý¿â¹ÜÀíÔ±ÓбØÒªÏÈÁ˽âÒ»ÏÂÆä¹¥»÷µÄÔÀí¡£ÕâÓÐÀûÓÚ¹ÜÀíÔ±²ÉÈ¡ÓÐÕë¶ÔÐԵķÀÖδëÊ©¡£
¡¡¡¡Ò»¡¢ SQL×¢Èë¹¥»÷µÄ¼òµ¥Ê¾Àý¡£
¡¡¡¡statement := "SELECT * from Users WHERE Value= " + a_variable + "
¡¡¡¡ÉÏÃæÕâÌõÓï¾äÊǺÜÆÕͨµÄÒ»ÌõSQLÓï¾ä£¬ËûÖ÷ҪʵÏֵŦÄܾÍÊÇ ......
SQLʱ¼äº¯Êý
--ÈÕÆÚת»»²ÎÊý,ÖµµÃÊÕ²Ø
select CONVERT(varchar, getdate(), 120 )2004-09-12 11:06:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')20040912110608
select CONVERT(varchar(12) , getdate(), 111 )2004/09/12
select CONVERT(varchar(12) , get ......
¿Î³Ì Ò» PL/SQL »ù±¾²éѯÓëÅÅÐò
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡
¡¡¡¡1¡¢Ð´SELECTÓï¾ä½øÐÐÊý¾Ý¿â²éѯ
¡¡¡¡
¡¡¡¡2¡¢½øÐÐÊýѧÔËËã
¡¡¡¡
¡¡¡¡3¡¢´¦Àí¿ÕÖµ
¡¡¡¡
¡¡¡¡4¡¢Ê¹ÓñðÃûALIASES
¡¡¡¡
¡¡¡¡5¡¢Á¬½ÓÁÐ
¡¡¡¡
¡¡¡¡6¡¢ÔÚSQL PLUSÖб༻º³å£¬ÐÞ¸ÄSQL SCRIPTS
¡¡¡¡
¡¡¡¡7¡¢ORDER BY½øÐÐÅÅÐòÊä³ö¡£
¡¡¡¡
¡¡¡¡8¡¢Ê¹Ó ......