SQL ѧϰ±Ê¼ÇÖ®SelectÍêÕûÓï·¨¼°Ö´Ðйý³ÌÏê½â
SELECTÓï¾äµÄÍêÕûÓ﷨Ϊ£º
SELECT[ALL|DISTINCT|DISTINCTROW|TOP]
{*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}
from tableexpression[,…][IN externaldatabase]
[WHERE…]
[GROUP BY…]
[HAVING…]
[ORDER BY…]
[WITH OWNERACCESS OPTION]
×¢Òâ Where£¬GroupBy£¬Having£¬OrderBy ˳Ðò¡£
Ö´Ðв½Öè
1£©ÏÈ´Ófrom×Ö¾äÒ»¸ö±í»ò¶à¸ö±í´´½¨¹¤×÷±í
2£©½«whereÌõ¼þÓ¦ÓÃÓÚ1£©µÄ¹¤×÷±í£¬±£ÁôÂú×ãÌõ¼þµÄÐÐ
3£©GroupBy ½«2£©µÄ½á¹û·Ö³É¶à¸ö×é
4£©Having ½«Ìõ¼þÓ¦ÓÃÓÚ3£©×éºÏµÄÌõ¼þ¹ýÂË£¬Ö»±£Áô·ûºÏÒªÇóµÄ×é¡£
5£©Order By¶Ô½á¹û½øÐÐÅÅÐò¡£
ʹÓÃDISTINCTÈ¥³ýÖØ¸´µÄÐÅÏ¢
Ö´ÐУº
select * from student
·µ»Ø½á¹û
-stuName -stuno
Tom Sawyer 1
Andy Ke 2
Angelia Jolie 3
Celine Dion 4
alex 5
alex 6
Ö´ÐУº
select distinct stu_name from student
½á¹û£º
alex
Andy Ke
Angelia Jolie
Celine Dion
Tom Sawyer
¼´È¥µôÁËÖØ¸´Öµ£¬ÓÖ¶Ô²éѯ½á¹û½øÐÐÁËÅÅÐò¡£Êµ¼ÊÉÏDBMSµÄ²Ù×÷¹ý³ÌÊÇÏȶԲéѯ½á¹ûÅÅÐòÔÚ´Ó½á¹ûÖÐÈ¥³ýÖØ¸´µÄ
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
¡¡¡¡¡¡
һֱûÓÐÍæ¹ýͨ¹ýÃüÁîÔÚDOSÏÂÖ´ÐÐoracleÊý¾Ý¿â,ËäÈ»¸ã¿ª·¢2ÄêÁË£¬»òÐíÕâÆªÎÄÕÂдµÃ±È½Ï·ôdz£®µ«»òÐí¶ÔÄÄЩ¸Õ¸ÕѧORACLEµÄÅóÓÑ»¹ÊÇÓÐÒ»¶¨°ïÖúµÄ£®
¡¡¡¡¡¡Í¨¹ýÃüÁîÄܹ»ºÜºÃµÄÖ´ÐдóÅúÁ¿Êý¾Ý½Å±¾£§½Å±¾£®sql£§£®±ÜÃâͨ¹ýPLSQL DeveloperÖ´ÐÐÅúÁ¿Êý¾ÝÔì³ÉµÄËÀ»úÇé¿ö£®
¶þ ......
Çë½Ì¸ßÊÖÒ»¸öÎÊÌ⣬ÎÊÌâÃèÊöÈçÏ£º
A±íÊǸ÷¸öµ¥Î»µÄÃû³Æ±í ×Ö¶ÎΪ org_id ºÍ org_name
B±íÊÇÕâЩµ¥Î»µÄµç»°ºÅÂë±í ×Ö¶ÎΪ org_idºÍ tel
A±í B±í¹ØÁª·½Ê½ÎªA.ORG_ID=B.ORG_ID
org_idÊǸ÷¸öµ¥Î»µÄ´úÂë
org_nameÊǸ÷¸öµ¥Î»µÄÃû³Æ
telÊǸ÷¸öµ¥Î»µÄµç»°ºÅÂë
±¾ÈËÏÖÔÚÏëÕë¶Ôÿ¸öµ¥Î»£¨Ã¿Ìõorg_id£©È¡Æä10¸öºÅÂë
Ç ......
µÚÒ»ÖÖ·½·¨£ºÊ¹ÓÃNVLº¯Êý´¦ÀíNULLÖµ¡£
ÆäÓï·¨¸ñʽÊÇNVL(exp1,exp2)¡£ÆäÖвÎÊýexp1ºÍexp2¿ÉÒÔʹÈÎÒâÊý¾ÝµÄÀàÐÍ£¬µ«Á½ÕßÊý¾ÝÀàÐͱØÐëÆ¥Å䡣ʾÀý£ºselect ename,sal,comm,sal+nvl(comm,0) as salary from emp;
µÚ¶þÖÖ·½·¨£ºÊ¹ÓÃNVL2º¯Êý´¦ÀíNULLÖµ¡£
ÆäÓï·¨¸ñʽÊÇNVL2(exp1,exp2,exp3)¡£ÕâÊÇoracle9iÐÂÔö¼ÓµÄº¯Êý¡£Èç¹ûexp1 ......
1 µ±Ê¹ÓÃgroup byʱ£¬Î´ÔÚgroup by ²¿·ÖÓõ½µÄ±íÁÐÔÚs e l e c t²¿·Ö³öÏÖʱ±ØÐëʹÓ÷Ö×麯Êý¡£
select last_name, state_cd, sum(sales) from customer group by last_name;
ERROR at line 1:
ORA-00979: not a GROUP BY expression.
state_cdÓ¦¸ÃʹÓ÷Ö×麯Êý£¬m a x ( )¡¢m i n ( )¡¢s u m ( )¡¢c o u n t ( )»òa v g ......