ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

ÈçºÎд³ö¸ßÖÊÁ¿¡¢¸ßÐÔÄܵÄMySQL²éѯ
2014-11-24 01:01:24 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:7504´Î
Tags£ºÈçºÎ д³ö ¸ßÖÊÁ¿ ¸ßÐÔÄÜ MySQL ²éѯ

ÏÂÃæ¾ÍijЩSQLÓï¾äµÄwhere×Ó¾ä±àдÖÐÐèҪעÒâµÄÎÊÌâ×÷Ïêϸ½éÉÜ¡£ÔÚÕâЩwhere×Ó¾äÖУ¬¼´Ê¹Ä³Ð©ÁдæÔÚË÷Òý£¬µ«ÊÇÓÉÓÚ±àдÁËÁÓÖʵÄSQL£¬ÏµÍ³ÔÚÔËÐиÃSQLÓï¾äʱҲ²»ÄÜʹÓøÃË÷Òý£¬¶øͬÑùʹÓÃÈ«±íɨÃ裬Õâ¾ÍÔì³ÉÁËÏìÓ¦Ëٶȵļ«´ó½µµÍ¡£


1. IS NULL Óë IS NOT NULL


²»ÄÜÓÃnull×÷Ë÷Òý£¬Èκΰüº¬nullÖµµÄÁж¼½«²»»á±»°üº¬ÔÚË÷ÒýÖС£¼´Ê¹Ë÷ÒýÓжàÁÐÕâÑùµÄÇé¿öÏ£¬Ö»ÒªÕâЩÁÐÖÐÓÐÒ»Áк¬ÓÐnull£¬¸ÃÁоͻá´ÓË÷ÒýÖÐÅųý¡£Ò²¾ÍÊÇ˵Èç¹ûijÁдæÔÚ¿ÕÖµ£¬¼´Ê¹¶Ô¸ÃÁн¨Ë÷ÒýÒ²²»»áÌá¸ßÐÔÄÜ¡£


ÈκÎÔÚwhere×Ó¾äÖÐʹÓÃis null»òis not nullµÄÓï¾äÓÅ»¯Æ÷ÊDz»ÔÊÐíʹÓÃË÷ÒýµÄ¡£


2. Áª½ÓÁÐ


¶ÔÓÚÓÐÁª½ÓµÄÁУ¬¼´Ê¹×îºóµÄÁª½ÓֵΪһ¸ö¾²Ì¬Öµ£¬ÓÅ»¯Æ÷ÊDz»»áʹÓÃË÷ÒýµÄ¡£ÎÒÃÇÒ»Æð À´¿´Ò»¸öÀý×Ó£¬¼Ù¶¨ÓÐÒ»¸öÖ°¹¤±í£¨employee£©£¬¶ÔÓÚÒ»¸öÖ°¹¤µÄÐÕºÍÃû·Ö³ÉÁ½Áдæ·Å£¨FIRST_NAMEºÍLAST_NAME£©£¬ÏÖÔÚÒª²éѯһ¸ö ½Ð±È¶û.¿ËÁÖ¶Ù£¨Bill Cliton£©µÄÖ°¹¤¡£


ÏÂÃæÊÇÒ»¸ö²ÉÓÃÁª½Ó²éѯµÄSQLÓï¾ä£¬


ÉÏÃæÕâÌõÓï¾äÍêÈ«¿ÉÒÔ²éѯ³öÊÇ·ñÓÐBill ClitonÕâ¸öÔ±¹¤£¬µ«ÊÇÕâÀïÐèҪעÒ⣬ϵͳÓÅ»¯Æ÷¶Ô»ùÓÚlast_name´´½¨µÄË÷ÒýûÓÐʹÓá£


µ±²ÉÓÃÏÂÃæÕâÖÖSQLÓï¾äµÄ±àд£¬Oracleϵͳ¾Í¿ÉÒÔ²ÉÓûùÓÚlast_name´´½¨µÄË÷Òý¡£


Óöµ½ÏÂÃæÕâÖÖÇé¿öÓÖÈçºÎ´¦ÀíÄØ£¿Èç¹ûÒ»¸ö±äÁ¿£¨name£©Öдæ·Å×ÅBill ClitonÕâ¸öÔ±¹¤µÄÐÕÃû£¬¶ÔÓÚÕâÖÖÇé¿öÎÒÃÇÓÖÈçºÎ±ÜÃâÈ«³Ì±éÀú£¬Ê¹ÓÃË÷ÒýÄØ£¿¿ÉÒÔʹÓÃÒ»¸öº¯Êý£¬½«±äÁ¿nameÖеÄÐÕºÍÃû·Ö¿ª¾Í¿ÉÒÔÁË£¬µ«ÊÇÓÐÒ»µãÐè ҪעÒ⣬Õâ¸öº¯ÊýÊDz»ÄÜ×÷ÓÃÔÚË÷ÒýÁÐÉÏ¡£ÏÂÃæÊÇSQL²éѯ½Å±¾£º


3. ´øͨÅä·û£¨%£©µÄlikeÓï¾ä


ͬÑùÒÔÉÏÃæµÄÀý×ÓÀ´¿´ÕâÖÖÇé¿ö¡£Ä¿Ç°µÄÐèÇóÊÇÕâÑùµÄ£¬ÒªÇóÔÚÖ°¹¤±íÖвéѯÃû×ÖÖаüº¬clitonµÄÈË¡£¿ÉÒÔ²ÉÓÃÈçϵIJéѯSQLÓï¾ä£º


ÕâÀïÓÉÓÚͨÅä·û£¨%£©ÔÚËÑÑ°´ÊÊ׳öÏÖ£¬ËùÒÔOracleϵͳ²»Ê¹ÓÃlast_nameµÄË÷ Òý¡£ÔںܶàÇé¿öÏ¿ÉÄÜÎÞ·¨±ÜÃâÕâÖÖÇé¿ö£¬µ«ÊÇÒ»¶¨ÒªÐÄÖÐÓеף¬Í¨Åä·ûÈç´ËʹÓûήµÍ²éѯËٶȡ£È»¶øµ±Í¨Åä·û³öÏÖÔÚ×Ö·û´®ÆäËûλÖÃʱ£¬ÓÅ»¯Æ÷¾ÍÄÜÀûÓÃË÷Òý¡£ ÔÚÏÂÃæµÄ²éѯÖÐË÷ÒýµÃµ½ÁËʹÓãº


4. Order byÓï¾ä


ORDER BYÓï¾ä¾ö¶¨ÁËOracleÈçºÎ½«·µ»ØµÄ²éѯ½á¹ûÅÅÐò¡£Order byÓï¾ä¶ÔÒªÅÅÐòµÄÁÐûÓÐʲôÌرðµÄÏÞÖÆ£¬Ò²¿ÉÒÔ½«º¯Êý¼ÓÈëÁÐÖУ¨ÏóÁª½Ó»òÕ߸½¼ÓµÈ£©¡£ÈκÎÔÚOrder byÓï¾äµÄ·ÇË÷ÒýÏî»òÕßÓмÆËã±í´ïʽ¶¼½«½µµÍ²éѯËٶȡ£


×Ðϸ¼ì²éorder byÓï¾äÒÔÕÒ³ö·ÇË÷ÒýÏî»òÕß±í´ïʽ£¬ËüÃǻήµÍÐÔÄÜ¡£½â¾öÕâ¸öÎÊÌâµÄ°ì·¨¾ÍÊÇÖØдorder byÓï¾äÒÔʹÓÃË÷Òý£¬Ò²¿ÉÒÔΪËùʹÓõÄÁн¨Á¢ÁíÍâÒ»¸öË÷Òý£¬Í¬Ê±Ó¦¾ø¶Ô±ÜÃâÔÚorder by×Ó¾äÖÐʹÓñí´ïʽ¡£


5. NOT


ÎÒÃÇÔÚ²éѯʱ¾­³£ÔÚwhere×Ó¾äʹÓÃһЩÂß¼­±í´ïʽ£¬Èç´óÓÚ¡¢Ð¡ÓÚ¡¢µÈÓÚÒÔ¼°²»µÈÓڵȵȣ¬Ò²¿ÉÒÔʹÓÃand£¨Ó룩¡¢or£¨»ò£©ÒÔ¼°not£¨·Ç£©¡£NOT¿ÉÓÃÀ´¶ÔÈκÎÂß¼­ÔËËã·ûºÅÈ¡·´¡£ÏÂÃæÊÇÒ»¸öNOT×Ó¾äµÄÀý×Ó£º


¡­ where not (status =¡¯VALID¡¯)


Èç¹ûҪʹÓÃNOT£¬ÔòÓ¦ÔÚÈ¡·´µÄ¶ÌÓïÇ°Ãæ¼ÓÉÏÀ¨ºÅ£¬²¢ÔÚ¶ÌÓïÇ°Ãæ¼ÓÉÏNOTÔËËã·û¡£NOTÔËËã·û°üº¬ÔÚÁíÍâÒ»¸öÂß¼­ÔËËã·ûÖУ¬Õâ¾ÍÊDz»µÈÓÚ£¨<>£©ÔËËã·û¡£»»¾ä»°Ëµ£¬¼´Ê¹²»ÔÚ²éѯwhere×Ó¾äÖÐÏÔʽµØ¼ÓÈëNOT´Ê£¬NOTÈÔÔÚÔËËã·ûÖУ¬¼ûÏÂÀý£º


¡­ where status <>¡¯INVALID¡¯


ÔÙ¿´ÏÂÃæÕâ¸öÀý×Ó£º


select * from employee where salary<>3000;


¶ÔÕâ¸ö²éѯ£¬¿ÉÒÔ¸ÄдΪ²»Ê¹ÓÃNOT£º


select * from employee where salary<3000 or salary>3000;


ËäÈ»ÕâÁ½ÖÖ²éѯµÄ½á¹ûÒ»Ñù£¬µ«ÊǵڶþÖÖ²éѯ·½°¸»á±ÈµÚÒ»ÖÖ²éѯ·½°¸¸ü¿ìЩ¡£µÚ¶þÖÖ²éѯÔÊÐíOracle¶ÔsalaryÁÐʹÓÃË÷Òý£¬¶øµÚÒ»ÖÖ²éѯÔò²»ÄÜʹÓÃË÷Òý¡£


6. INºÍEXISTS


ÓÐʱºò»á½«Ò»ÁкÍһϵÁÐÖµÏà±È½Ï¡£×î¼òµ¥µÄ°ì·¨¾ÍÊÇÔÚwhere×Ó¾äÖÐʹÓÃ×Ó²éѯ¡£ÔÚwhere×Ó¾äÖпÉÒÔʹÓÃÁ½ÖÖ¸ñʽµÄ×Ó²éѯ¡£


µÚÒ»ÖÖ¸ñʽÊÇʹÓÃIN²Ù×÷·û£º


¡­ where column in(select * from ¡­ where ¡­);


µÚ¶þÖÖ¸ñʽÊÇʹÓÃEXIST²Ù×÷·û£º


¡­ where exists (select ¡®X¡¯ from ¡­where ¡­);


ÎÒÏàОø´ó¶àÊýÈË»áʹÓõÚÒ»ÖÖ¸ñʽ£¬ÒòΪËü±È½ÏÈÝÒ×±àд£¬¶øʵ¼ÊÉϵڶþÖÖ¸ñʽҪԶ±ÈµÚÒ»ÖÖ¸ñʽµÄЧÂʸߡ£ÔÚOracleÖпÉÒÔ¼¸ºõ½«ËùÓеÄIN²Ù×÷·û×Ó²éѯ¸ÄдΪʹÓÃEXISTSµÄ×Ó²éѯ¡£


µÚ¶þÖÖ¸ñʽÖУ¬×Ó²éѯÒÔ¡®select ¡®X¡¯¿ªÊ¼¡£ÔËÓÃEXISTS×Ӿ䲻¹Ü×Ó²éѯ´Ó±íÖгéȡʲôÊý¾ÝËüÖ»²é¿´where×Ӿ䡣ÕâÑùÓÅ»¯Æ÷¾Í²»±Ø±éÀúÕû¸ö±í¶ø½ö¸ù¾ÝË÷Òý¾Í¿ÉÍê³É¹¤×÷£¨ÕâÀï¼Ù¶¨ÔÚwhereÓï¾äÖÐʹÓõÄÁдæÔÚË÷Òý£©¡£Ïà¶ÔÓÚIN×Ó¾äÀ´Ëµ£¬EXISTSʹÓÃÏàÁ¬×Ó²éѯ£¬¹¹ÔìÆðÀ´Òª±ÈIN×Ó²éѯÀ§ÄÑһЩ¡£


ͨ¹ýʹÓÃEXIST£¬Oracleϵͳ»áÊ×Ïȼì²éÖ÷²éѯ£¬È»ºóÔËÐÐ×Ó²éѯֱµ½ËüÕÒµ½µÚÒ»¸öÆ¥ÅäÏÕâ¾Í½ÚÊ¡ÁËʱ¼ä¡£OracleϵͳÔÚÖ´ÐÐIN×Ó²éѯʱ£¬Ê×ÏÈÖ´ÐÐ×Ó²éѯ£¬²¢½«»ñµÃµÄ½á¹ûÁбí´æ·ÅÔÚÔÚÒ»¸ö¼ÓÁËË÷ÒýµÄÁÙʱ±íÖС£ÔÚÖ´ÐÐ×Ó²éѯ֮ǰ£¬ÏµÍ³ÏȽ«Ö÷²éѯ¹ÒÆ𣬴ý×Ó²éѯִÐÐÍê±Ï£¬´æ·ÅÔÚÁÙʱ±íÖÐÒÔºóÔÙÖ´ÐÐÖ÷²éѯ¡£ÕâÒ²¾ÍÊÇʹÓÃEXISTS±ÈʹÓÃINͨ³£²éѯËٶȿìµÄÔ­Òò¡£


ͬʱӦ¾¡¿ÉÄÜʹÓÃNOT EXISTSÀ´´úÌæNOT IN£¬¾¡¹Ü¶þÕ߶¼Ê¹ÓÃÁËNOT£¨²»ÄÜʹÓÃË÷Òý¶ø½µµÍËٶȣ©£¬NOT EXISTSÒª±ÈNOT IN²éѯЧÂʸü¸ß¡£


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£º¹ãÖݽðÅô±ÊÊÔÌâ ÏÂһƪ£º¹ØÓÚ·¿¼ÛµÄÒ»¸öÃæÊÔÌ⣬ÇëÓôúÂë..

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿