Oracle ѧϰ£ºPL/SQLÑÐò½¥½øÈ«Ãæѧϰ½Ì³Ì
¡¡¿Î³ÌÎå ×Ó²éѯ
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡1¡¢ÔÚÌõ¼þδ֪µÄÇé¿öϲÉÓÃǶÌ××Ó²éѯ
¡¡¡¡2¡¢ÓÃ×Ó²éѯ×öÊý¾Ý´¦Àí
¡¡¡¡3¡¢×Ó²éѯÅÅÐò
¡¡¡¡
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎÄ°ë½Ç
¡¡¡¡
¡¡¡¡Ò»¡¢¸ÅÊö£º
¡¡¡¡×Ó²éѯÊÇÒ»ÖÖSELECT¾äʽÖеĸ߼¶ÌØÐÔ£¬¾ÍÊÇÒ»¸öSELECTÓï¾ä×÷ΪÁíÒ»¸öÓï¾äµÄÒ»¸ö¶Î¡£ÎÒÃÇ¿ÉÒÔÀûÓÃ×Ó²éѯÀ´
ÔÚWHERE×Ö¶ÎÖÐÒýÓÃÁíÒ»¸ö²éѯÀ´¹¥È¡ÖµÒÔ²¹³äÆäÎÞ·¨ÊÂÏÈÔ¤ÖªµÄ×Ó½á¹û¡£
¡¡¡¡×Ó²éѯ¿ÉÒÔÓÃÔÚWHERE×Ӿ䣬HAING×Ӿ䣬SELECT»òDELETEÓï¾äÖеÄfrom ×Ӿ䡣
¡¡¡¡×¢Ò⣺1¡¢×Ó²éѯ±ØÐëÔÚÒ»¶ÔÔ²À¨ºÅÀï¡£
¡¡¡¡2¡¢±È½Ï·ûºÅ£º>, =, »òÕß IN.
¡¡¡¡3¡¢×Ó²éѯ±ØÐë³öÏÖÔÚ²Ù×÷·ûµÄÓÒ±ß
¡¡¡¡4¡¢×Ó²éѯ²»ÄܳöÏÖÔÚORDER BYÀï¡¡ (ÊÔÌâÖÐÓÐʱ³öÏÖÕÒÄÄÐгö´í)
¡¡¡¡¶þ¡¢×Ó²éѯµÄÖ´Ðйý³Ì£º
¡¡¡¡NESTED QUERY¡¡¡¡¡¡MAIN QUERY
¡¡¡¡SQL> SELECT dept_id¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ SQL> SELECT last_name, title
¡¡¡¡2 from s_emp¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2 from s_emp
¡¡¡¡3 WHERE UPPER(last_name)=’BIRI’;¡¡¡¡¡¡3 WHERE dept_id =
¡¡¡¡ÕâÀï £¬Ã¿¸ö²éѯֻÔËÐÐÒ»´Î¡£µ±È»£¬×Ó²éѯҪÊ×Ïȱ»Ö´ÐУ¬´ó¼ÒÉèÏëһϣ¬Èç¹û×Ó²éѯÖÐÓÐÒ»¸öÒÔÉϵÄÈ˵Ä
LASTNAMEΪBIRI£¬»áÈçºÎ£¿-----»á³ö´í£¬ÒòΪ²»ÄÜÓÃ=À´Á¬½Ó¡£
¡¡¡¡ORA-1427: single-row subquery returns more than
¡¡¡¡one row
¡¡¡¡ÒÔÉϵIJéѯҲ±»³Æ֮Ϊ µ¥ÐÐ×Ó²éѯ¡£
¡¡¡¡DELECT×Ó²éѯʵÀý£º
¡¡¡¡delete from new_table where cata_time > to_date('19990901','yyyymmdd') and pro_name=(
¡¡¡¡select pro_name from new_product where pro_addr in ('bj','sh'))
¡¡¡¡Èý¡¢×Ó²éѯÖеÄGROUP º¯ÊýµÄÓ¦ÓÃ
¡¡¡¡ÊµÀý 1£º
¡¡¡¡SQL> SELECT last_name, title, salary
¡¡¡¡2 from s_emp
¡¡¡¡3 WHERE salary <
¡¡¡¡4 (SELECT AVG(salary)
¡¡¡¡5 from s_emp);
¡¡¡¡ÊµÀý2£º
¡¡¡¡Ñ¡Ôñ³ö¹¤×Ê×î¸ßµÄÔ±¹¤µÄ¼Òͥסַ£º
¡¡¡¡select emp_addr from employees where salary =
¡¡¡¡(select max(salary) from employees);
¡¡¡¡ÕâÊÇÒ»¸ö¼òµ¥ÊµÓõÄÀý×Ó£¬¿ÉÒÔÑÜÉú³öºÜ¶àÇé¿ö£¬ÔÚʵ¼ÊÓ¦Óþ³£³öÏÖ£¬Çë´ó¼Ò¶à¶à˼¿¼¡£
¡¡¡¡ÊµÀý3£º
¡¡¡¡SQL> SELECT dept_id, AVG(salary)
¡¡¡¡2 from s_emp
¡¡¡¡3 GROUP BY dept_id
¡¡¡¡4 HAVING AVG(salary) >
¡¡¡¡5 (SELECT AVG(salary)
¡¡¡¡6 from s_emp
¡¡¡¡7 WHERE dept_id = 32);
¡¡¡¡×Ó²éѯ±»¶à´ÎÖ´ÐУ¬ÒòΪËü³öÏÖÔÚHAV
Ïà¹ØÎĵµ£º
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 ......
ÔÚ´æ´¢¹ý³ÌÖо³£ÐèÒªÖ´ÐгÌÐò×é³ÉµÄSQLÓï¾ä£¬¿ÉÒÔʹÓÃexec(@sql),
Ò²¿ÉÒÔʹÓÃexec sp_executesql @sql¡£µ«Ê¹ÓÃsp_executesqlÒªÓÅÓÚexec£¬½¨ÒéʹÓà sp_executesql ¶ø²»ÒªÊ¹Óà EXECUTE Óï¾äÖ´ÐÐ×Ö·û´®¡£Ö§³Ö²ÎÊýÌæ»»²»½öʹ sp_executesql ±È EXECUTE ¸üͨÓ㬶øÇÒ »¹Ê¹ sp_executesql ¸üÓÐЧ£ ......
ORACLE 10GÖÐÐÂÔöµÄMODEL×Ó¾ä¿ÉÒÔÓÃÀ´½øÐÐÐмä¼ÆËã¡£MODEL×Ó¾äÔÊÐíÏñ·ÃÎÊÊý×éÖÐÔªËØÄÇÑù·ÃÎʼǼÖеÄij¸öÁС£Õâ¾ÍÌṩÁËÖîÈçµç×Ó±í¸ñ¼ÆËãÖ®ÀàµÄ¼ÆËãÄÜÁ¦¡£
1¡¢MODEL×Ó¾äʾÀý
ÏÂÃæÕâ¸ö²éѯ»ñÈ¡2003ÄêÄÚÓÉÔ±¹¤#21Íê³ÉµÄ²úÆ·ÀàÐÍΪ#1ºÍ#2µÄÏúÁ¿£¬²¢¸ù¾Ý2003ÄêµÄÏúÊÛÊý¾ÝÔ¤²â³ö2004Äê1Ô¡¢2Ô¡¢3ÔµÄÏúÁ¿¡£
......
¿Î³ÌÈý ´Ó¶à¸ö±íÖÐÌáÈ¡Êý¾Ý
¡¡¡¡
¡¡¡¡±¾¿ÎÖص㣺
¡¡¡¡1¡¢SELECT from ¶à¸ö±í£¬Ê¹ÓõÈÁ¬½Ó»ò·ÇµÈÁ¬½Ó
¡¡¡¡2¡¢Ê¹ÓÃÍâÁ¬½ÓOUTER JOIN
¡¡¡¡3¡¢Ê¹ÓÃ×ÔÁ¬½Ó
¡¡¡¡×¢Ò⣺ÒÔÏÂʵÀýÖбêµã¾ùΪӢÎÄ°ë½Ç
¡¡¡¡Ò»¡¢Á¬½ÓµÄ¸ÅÄ
¡¡¡¡
¡¡¡¡ÊÇÖ¸Ò»¸ö´Ó¶à¸ö±íÖеÄÊý¾Ý½øÐеIJéѯ¡£Á¬½ÓÒ»°ãʹÓñíµÄÖ÷¼üºÍÍâ¼ü¡£
¡¡¡¡Á¬½ÓÀàÐÍ£º
¡¡ ......