Oracle SqlÓÅ»¯±Ê¼Ç(Ò»)
»ù±¾µÄSql±àдעÒâÊÂÏî
¾¡Á¿ÉÙÓÃIN²Ù×÷·û£¬»ù±¾ÉÏËùÓеÄIN²Ù×÷·û¶¼¿ÉÒÔÓÃEXISTS´úÌæ¡£
²»ÓÃNOT IN²Ù×÷·û£¬¿ÉÒÔÓÃNOT EXISTS»òÕßÍâÁ¬½Ó+Ìæ´ú¡£
OracleÔÚÖ´ÐÐIN×Ó²éѯʱ£¬Ê×ÏÈÖ´ÐÐ×Ó²éѯ£¬½«²éѯ½á¹û·ÅÈëÁÙʱ±íÔÙÖ´ÐÐÖ÷²éѯ¡£¶øEXISTÔòÊÇÊ×Ïȼì²éÖ÷²éѯ£¬È»ºóÔËÐÐ×Ó²éѯֱµ½ÕÒµ½µÚÒ»¸öÆ¥ÅäÏî¡£NOT EXISTS±ÈNOT INЧÂÊÉԸߡ£µ«¾ßÌåÔÚÑ¡ÔñIN»òEXIST²Ù×÷ʱ£¬Òª¸ù¾ÝÖ÷×Ó±íÊý¾ÝÁ¿´óСÀ´¾ßÌ忼ÂÇ¡£
²»ÓÓ<>”»òÕß“!=”²Ù×÷·û¡£¶Ô²»µÈÓÚ²Ù×÷·ûµÄ´¦Àí»áÔì³ÉÈ«±íɨÃ裬¿ÉÒÔÓÓ<” or “>”´úÌæ¡£
Where×Ó¾äÖгöÏÖIS NULL»òÕßIS NOT NULLʱ£¬Oracle»áֹͣʹÓÃË÷Òý¶øÖ´ÐÐÈ«±íɨÃè¡£¿ÉÒÔ¿¼ÂÇÔÚÉè¼Æ±íʱ£¬¶ÔË÷ÒýÁÐÉèÖÃΪNOT NULL¡£ÕâÑù¾Í¿ÉÒÔÓÃÆäËû²Ù×÷À´È¡´úÅжÏNULLµÄ²Ù×÷¡£
µ±Í¨Åä·û“%”»òÕß“_”×÷Ϊ²éѯ×Ö·û´®µÄµÚÒ»¸ö×Ö·ûʱ£¬Ë÷Òý²»»á±»Ê¹Óá£
¶ÔÓÚÓÐÁ¬½ÓµÄÁГ||”£¬×îºóÒ»¸öÁ¬½ÓÁÐË÷Òý»áÎÞЧ¡£¾¡Á¿±ÜÃâÁ¬½Ó£¬¿ÉÒÔ·Ö¿ªÁ¬½Ó»òÕßʹÓò»×÷ÓÃÔÚÁÐÉϵĺ¯ÊýÌæ´ú¡£
Èç¹ûË÷Òý²»ÊÇ»ùÓÚº¯ÊýµÄ£¬ÄÇôµ±ÔÚWhere×Ó¾äÖжÔË÷ÒýÁÐʹÓú¯Êýʱ£¬Ë÷Òý²»ÔÙÆð×÷Óá£
Where×Ó¾äÖбÜÃâÔÚË÷ÒýÁÐÉÏʹÓüÆË㣬·ñÔò½«µ¼ÖÂË÷ÒýʧЧ¶ø½øÐÐÈ«±íɨÃè¡£
¶ÔÊý¾ÝÀàÐͲ»Í¬µÄÁнøÐбȽÏʱ£¬»áʹË÷ÒýʧЧ¡£
ÓÓ>=”Ìæ´ú“>”¡£
UNION²Ù×÷·û»á¶Ô½á¹û½øÐÐɸѡ£¬Ïû³ýÖØ¸´£¬Êý¾ÝÁ¿´óµÄÇé¿öÏ¿ÉÄÜ»áÒýÆð´ÅÅÌÅÅÐò¡£Èç¹û²»ÐèҪɾ³ýÖØ¸´¼Ç¼£¬Ó¦¸ÃʹÓÃUNION ALL¡£
Oracle´Óϵ½ÉÏ´¦ÀíWhere×Ó¾äÖжà¸ö²éѯÌõ¼þ£¬ËùÒÔ±íÁ¬½ÓÓï¾äӦдÔÚÆäËûWhereÌõ¼þǰ£¬¿ÉÒÔ¹ýÂ˵ô×î´óÊýÁ¿¼Ç¼µÄÌõ¼þ±ØÐëдÔÚWhere×Ó¾äµÄĩβ¡£
Oracle´ÓÓÒµ½×ó´¦Àífrom×Ó¾äÖеıíÃû£¬ËùÒÔÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏ£¬½«¼Ç¼×îÉٵıí·ÅÔÚ×îºó¡££¨Ö»ÔÚ²ÉÓÃRBOÓÅ»¯Ê±ÓÐЧ£¬ÏÂÎÄÏêÊö£©
Order ByÓï¾äÖеķÇË÷ÒýÁлήµÍÐÔÄÜ£¬¿ÉÒÔͨ¹ýÌí¼ÓË÷ÒýµÄ·½Ê½´¦Àí¡£Ñϸñ¿ØÖÆÔÚOrder ByÓï¾äÖÐʹÓñí´ïʽ¡£
²»Í¬ÇøÓò³öÏÖµÄÏàͬµÄSqlÓï¾ä£¬Òª±£Ö¤²éѯ×Ö·ûÍêÈ«Ïàͬ£¬ÒÔÀûÓÃSGA¹²Ïí³Ø£¬·ÀÖ¹ÏàͬµÄSqlÓï¾ä±»¶à´Î·ÖÎö¡£
¶àÀûÓÃÄÚ²¿º¯ÊýÌá¸ßSqlЧÂÊ¡£
µ±ÔÚSqlÓï¾äÖÐÁ¬½Ó¶à¸ö±íʱ£¬Ê¹ÓñíµÄ±ðÃû£¬²¢½«Ö®×÷ΪÿÁеÄǰ׺¡£ÕâÑù¿ÉÒÔ¼õÉÙ½âÎöʱ¼ä¡£
ÐèҪעÒâµÄÊÇ£¬Ëæ×ÅOracleµÄÉý¼¶£¬²éѯÓÅ»¯Æ÷»á×Ô¶¯¶ÔSqlÓï¾ä½øÐÐÓÅ»¯£¬Ä³Ð©ÏÞÖÆ¿ÉÄÜÔÚа汾µÄOracleϲ»ÔÙÊÇÎÊÌâ¡£ÓÈÆäÊDzÉÓÃCBO£¨Cost-Based Optimizati
Ïà¹ØÎĵµ£º
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
1£® ÅжÏa±íÖÐÓжøb±íÖÐûÓеļǼ
select a.* from tbl1 a
left join tbl2 b
on a.key = b.key
where b.key is null
ËäȻʹÓÃinÒ²¿ÉÒÔʵÏÖ£¬µ«ÊÇÕâÖÖ·½·¨µÄЧÂʸü¸ßһЩ
2£® н¨Ò»¸öÓëij¸ö±íÏàͬ½á¹¹µÄ±í
select * into b
from a where 1<>1
3£®betwee ......
ÉÏ»ØÎÒÃÇ˵µ½ÆÀ¹ÀÒ»ÌõÓï¾äÖ´ÐÐЧÂÊÖ÷Òª¿´Âß¼ IO £¨É¶ÊÇÂß¼ IO £¬É¶ÊÇÎïÀí IO ¼ûÁª»úÎĵµ£©£¬Õâ´ÎÎÒÃǼÌÐø¡£
ÎÒÃÇÏÈ˵˵£¬·µ»Ø¶àÐнá¹ûʱ£¬ÎªÊ²Ã´ SQLServer ÓÐʱ»áÑ¡Ôñ index seek £¬ÓÐʱ»áÑ¡Ôñ index scan ¡£
ÒÔ nonclustered index ΪÀý˵Ã÷¡£
ÏñËùÓеÄË÷Òý B Ê÷Ò»Ñù£¬·Ç¾Û¼¯Ë÷ÒýÊ÷Ò²°üÀ¨ÍêÈ«ÓÉË÷ÒýÊý¾Ý×é³ÉµÄ¸ù½ ......
ÏÈ˵˵ÕâЩÎóÇø¡£Ëùν“ÎóÇø”£¬ÓÐһЩÊÇÐÂÊÖºÜÈÝÒ×·¸µÄ´íÎó»òÕߺÜÈÝÒ׺öÂÔµÄÎÊÌ⣬ÁíÍâһЩ£¬ÔòÊÇÏñ“ºÄ×Ó³ÔÁËÑλá±ä³Éòùòð”Ò»Ñù£¬ÈÃÎÒÃÇ´ÓС¾ÍÈÏΪÊÇÕýÈ·µÄÊÂÇé¡£ÈçÏ£º
1¡¢ ±íÉϲ»¹ÜÓõÃ×ÅÓò»×Å£¬¶¼¼Ó¸ö¾Û¼¯Ë÷Òý¡£
ÎÒÃÇÖªµÀ£¬±íÒÔÁ½ÖÖ·½Ê½×éÖ¯ÎïÀí´æ´¢£ºÓоۼ¯Ë÷ÒýµÄ“¾Û¼¯±í&r ......