SQL ÓÅ»¯¼¼ÇÉ
1 ±ÜÃâÎ޼ƻ®µÄÈ«±íɨÃè
ÈçÏÂÇé¿ö½øÐÐÈ«±íɨÃ裺
- ¸Ã±íÎÞË÷Òý
- ¶Ô·µ»ØµÄÐÐÎÞÈ˺ÍÏÞÖÆÌõ¼þ£¨ÎÞWhere×Ӿ䣩
- ¶ÔÓÚË÷ÒýÖ÷ÁУ¨Ë÷ÒýµÄµÚÒ»ÁУ©ÎÞÏÞÖÆÌõ¼þ
- ¶ÔË÷ÒýÖ÷ÁеÄÌõ¼þº¬ÔÚ±í´ïʽÖÐ
- ¶ÔË÷ÒýÖ÷ÁеÄÏÞÖÆÌõ¼þÊÇis (not) null»ò!=
- ¶ÔË÷ÒýÖ÷ÁеÄÏÞÖÆÌõ¼þÊÇlike²Ù×÷ÇÒÖµÊÇÒ»¸öbind variable»ò%´òÍ·µÄÖµ
2 ֻʹÓÃÑ¡ÔñÐÔË÷Òý
Ë÷ÒýµÄÑ¡ÔñÐÔÊÇÖ¸Ë÷ÒýÁÐÖв»Í¬ÖµµÃÊýÄ¿ºÍ±êÖ¾ÖмǼÊýµÄ±È£¬Ñ¡ÔñÐÔ×îºÃµÄÊÇ·Ç¿ÕÁеÄΨһË÷ÒýΪ1.0¡£
¸´ºÏË÷ÒýÖÐÁеĴÎÐòµÄÎÊÌ⣺
1 ÔÚÏÞ¶¨Ìõ¼þÀï×îÆµ·±Ê¹ÓõÄÁÐÓ¦¸ÃÊÇÖ÷ÁÐ
2 ×î¾ßÓÐÑ¡ÔñÐÔµÄÁУ¨¼´×îÇåÎúµÄÁУ©Ó¦¸ÃÊÇÖ÷ÁÐ
Èç¹û1ºÍ2 ²»Ò»Ö£¬¿ÉÒÔ¿¼Âǽ¨Á¢¶à¸öË÷Òý¡£
ÔÚ¸´ºÏË÷ÒýºÍ¶à¸öµ¥¸öË÷ÒýÖÐ×÷Ñ¡Ôñ£º
¿¼ÂÇÑ¡ÔñÐÔ ¿¼ÂǶÁÈ¡Ë÷ÒýµÄ´ÎÊý ¿¼ÂÇAND-EQUAL²Ù×÷
3 ¹ÜÀí¶à±íÁ¬½Ó£¨Nested Loops, Merge JoinsºÍHash Joins£© ÓÅ»¯Áª½Ó²Ù×÷
Merge JoinsÊǼ¯ºÏ²Ù×÷ Nested LoopsºÍHash JoinsÊǼǼ²Ù×÷·µ»ØµÚÒ»Åú¼Ç¼ѸËÙ
Merge JoinsµÄ²Ù×÷ÊÊÓÃÓÚÅú´¦Àí²Ù×÷£¬¾Þ´ó±í ºÍÔ¶³Ì²éѯ
1È«±íɨÃè --¡µ 2ÅÅÐò --¡µ3±È½ÏºÍºÏ²¢ ÐÔÄÜ¿ªÏúÖ÷ÒªÔÚǰÁ½²½
ÊÊÓÃÈ«±íɨÃèµÄÇéÐΣ¬¶¼ÊÊÓÃMerge Joins²Ù×÷£¨±ÈNested LoopsÓÐЧ£©¡£
¸ÄÉÆ1µÄЧÂÊ£º ÓÅ»¯I/O£¬ Ìá¸ßʹÓÃORACLE¶à¿é¶ÁµÄÄÜÁ¦£¬ ʹÓò¢ÐвéѯµÄÑ¡Ïî
¸ÄÉÆ1µÄЧÂÊ£ºÌá¸ßSort_Area_SizeµÄÖµ£¬ ʹÓÃSort Direct Writes£¬ÎªÁÙʱ¶ÎÌṩרÓñí¿Õ¼ä
4 ¹ÜÀí°üº¬ÊÓͼµÄSQLÓï¾ä
ÓÅ»¯Æ÷Ö´Ðаüº¬ÊÓͼµÄSQLÓï¾äÓÐÁ½ÖÖ·½·¨£º
- ÏÈÖ´ÐÐÊÓͼ£¬Íê³ÉÈ«²¿µÄ½á¹û¼¯£¬È»ºóÓÃÆäÓàµÄ²éѯÌõ¼þ×÷¹ýÂËÆ÷Ö´Ðвéѯ
- ½«ÊÓͼÎı¾¼¯³Éµ½²éѯÀïÈ¥
º¬ÓÐgroup by×Ó¾äµÄÊÓͼ²»Äܱ»¼¯³Éµ½Ò»¸ö´óµÄ²éѯÖÐÈ¥¡£
ÔÚÊÓͼÖÐʹÓÃunion£¬²»×èÖ¹ÊÓͼµÄSQL¼¯³Éµ½²éѯµÄÓï·¨ÖÐÈ¥¡£
5 ÓÅ»¯×Ó²éѯ
6 ʹÓø´ºÏKeys/S
Ïà¹ØÎĵµ£º
sql isnullº¯ÊýµÄʹÓÃ
ISNULL
ʹÓÃÖ¸¶¨µÄÌæ»»ÖµÌæ»» NULL¡£
Óï·¨
ISNULL ( check_expression , replacement_value )
²ÎÊý
check_expression
½«±»¼ì²éÊÇ·ñΪ NULLµÄ±í´ïʽ¡£check_expression ¿ÉÒÔÊÇÈκÎÀàÐ͵ġ£
replacement_value
ÔÚ check_expression Ϊ NULLʱ½«·µ»ØµÄ±í´ïʽ¡£replacement_value ±ØÐëÓë chec ......
...
)
Óõ½µÄ¹¦ÄÜÓÐ:
1.Èç¹ûÎÒ¸ü¸ÄÁËѧÉúµÄѧºÅ,ÎÒÏ£ÍûËûµÄ½èÊé¼Ç¼ÈÔÈ»ÓëÕâ¸öѧÉúÏà¹Ø(Ò²¾ÍÊÇͬʱ¸ü¸Ä½èÊé¼Ç¼±íµÄѧºÅ);
2.Èç¹û¸ÃѧÉúÒѾ ......
¾¡Á¿ÉÙÓÃIN²Ù×÷·û£¬»ù±¾ÉÏËùÓеÄIN²Ù×÷·û¶¼¿ÉÒÔÓÃEXISTS´úÌæ¡£
²»ÓÃNOT IN²Ù×÷·û£¬¿ÉÒÔÓÃNOT EXISTS»òÕßÍâÁ¬½Ó+Ìæ´ú¡£
OracleÔÚÖ´ÐÐIN×Ó²éѯʱ£¬Ê×ÏÈÖ´ÐÐ×Ó²éѯ£¬½«²éѯ½á¹û·ÅÈëÁÙʱ±íÔÙÖ´ÐÐÖ÷²éѯ¡£¶øEXISTÔòÊÇÊ×Ïȼì²éÖ÷²éѯ£¬È»ºóÔËÐÐ×Ó²éѯֱµ½ÕÒµ½µÚÒ»¸öÆ¥ÅäÏî¡£NOT EXISTS±ÈNOT INЧÂÊÉԸߡ£µ«¾ßÌåÔÚÑ¡ÔñIN»òEXIST² ......
drop table father;
create table father(
id int identity(1,1) primary key,
name varchar(20) not null,
age int not null
)
drop table mother;
create table mother(
id int identity(1,1),
name varchar(20) not null,
age int not null,
husban ......
Àý 34 ÕÒ³öÄêÁ䳬¹ýƽ¾ùÄêÁäµÄѧÉúÐÕÃû¡£
SELECT SNAME
from STUDENTS
WHERE AGE £¾
(SELECT AVG(AGE)
from STUDENTS)
Àý 35 ÕÒ³ö¸÷¿Î³ÌµÄƽ¾ù³É¼¨£¬°´¿Î³ÌºÅ·Ö×飬ÇÒֻѡÔñѧÉú³¬¹ý 3 ÈËµÄ¿Î³ÌµÄ³É ......