SQLÓαê¿ìËÙÉÏÊÖ
ÎÊÌâÃèÊö£ºÓÐÒÔÏÂ2ÕÅ±í£¬
±íA
0_id 0_name 0_Salary
Y2007001 ´ï¸ç 3666
Y2007002 С¶Å 4888
Y2007003 ´ï¸ç 3666
±íB
a_id a_salary
Y2007001 333
Y2007002 444
Y2007003 555
ÏÖÔÚÏ£ÍûµÃµ½ÕâÑùµÄÊý¾Ý±íAÀïµÄO_Saloary¼ÓÉϱíBµÄA_SalaryÊǵ±Ç°µÄ×ܹ¤×Ê£¬²¢¸üе½±íA¡£
Äã¿ÉÒÔÓÃÊÓͼÀ´£¬±íÁ¬½ÓϾͿÉÒÔ¡£
ÏÖÔÚÎÒÃÇ¿¼ÂÇÏÂÈÃSQL×Ô¼ºÀ´´¦Àí£¬Óαê¾ÍÊǺܺõķ½·¨¡£
ÔÀí£ºÓαê¾ÍÊǰÑÊý¾Ý°´ÕÕÖ¸¶¨ÒªÇóÌáÈ¡³öÏàÓ¦µÄÊý¾Ý¼¯£¬È»ºóÖðÌõ½øÐÐÊý¾Ý´¦Àí¡£
1.1ÓαêµÄ¸ÅÄî
Óαê(Cursor)ËüʹÓû§¿ÉÖðÐзÃÎÊÓÉSQL Server·µ»ØµÄ½á¹û¼¯¡£Ê¹ÓÃÓαê(cursor)µÄÒ»¸öÖ÷ÒªµÄÔÒò¾ÍÊǰѼ¯ºÏ²Ù×÷ת»»³Éµ¥¸ö¼Ç¼´¦Àí·½Ê½¡£ÓÃSQLÓïÑÔ´ÓÊý¾Ý¿âÖмìË÷Êý¾Ýºó£¬½á¹û·ÅÔÚÄÚ´æµÄÒ»¿éÇøÓòÖУ¬ÇÒ½á¹ûÍùÍùÊÇÒ»¸öº¬Óжà¸ö¼Ç¼µÄ¼¯ºÏ¡£Óαê»úÖÆÔÊÐíÓû§ÔÚSQL serverÄÚÖðÐеطÃÎÊÕâЩ¼Ç¼£¬°´ÕÕÓû§×Ô¼ºµÄÒâÔ¸À´ÏÔʾºÍ´¦ÀíÕâЩ¼Ç¼¡£
1.2 ÓαêµÄÓŵã
´ÓÓα궨Òå¿ÉÒԵõ½ÓαêµÄÈçÏÂÓŵ㣬ÕâЩÓŵãʹÓαêÔÚʵ¼ÊÓ¦ÓÃÖз¢»ÓÁËÖØÒª×÷Óãº
1£©ÔÊÐí³ÌÐò¶ÔÓɲéѯÓï¾äselect·µ»ØµÄÐм¯ºÏÖеÄÿһÐÐÖ´ÐÐÏàͬ»ò
Ïà¹ØÎĵµ£º
--kshϵÄÒ»¸öWHILE Ñ»·µÄÀý×Ó
integer i=1
while ((i<67))
do
pirnt $i
i=i+1
done
--ksh ÏÂÒ»¸öFORÑ»·µÄÀý×Ó
for i in `cat listdate.txt`
do
echo "Ö´ÐÐ $i "
done
--- date.pl ÓÃÓÚÉú³ÉÒ»¸öʱ¼ä¶ÎÎļþ
#!/usr/local/bin/perl
use DBI;
if($#ARGV<1)
{
&nbs ......
1¡¢ÎļþºÍÎļþ×éµÄº¬ÒåÓë¹ØÏµ
ÿ¸öÊý¾Ý¿âÓÐÒ»¸öÖ÷Êý¾ÝÎļþ.ºÍÈô¸É¸ö´ÓÎļþ¡£ÎļþÊÇÊý¾Ý¿âµÄÎïÀíÌåÏÖ¡£ Îļþ×é¿ÉÒÔ°üÀ¨·Ö²¼ÔÚ¶à¸öÂß¼·ÖÇøµÄÎļþ£¬ÊµÏÖ¸ºÔØÆ½ºâ¡£Îļþ×éÔÊÐí¶ÔÎļþ½øÐзÖ×飬ÒÔ±ãÓÚ¹ÜÀíºÍÊý¾ÝµÄ·ÖÅ䣯·ÅÖá£ÀýÈ磬¿ÉÒÔ·Ö±ðÔÚÈý¸öÓ²ÅÌÇý¶¯Æ÷ÉÏ´´½¨Èý¸öÎļþ£¨Data1.ndf¡¢Data2.ndf ºÍ Data3.ndf£©£¬²¢½«ÕâÈý¸ ......
JOINÓÅ»¯
MySQLÖÐjoinµÄʵÏÖ²ÉÓõÄÊÇNested Loop JoinËã·¨¡£Í¨¹ýÇý¶¯±íµÄ½á¹û¼¯×÷Ϊѻ·»ù´¡Êý¾Ý£¬È»ºó½«¸Ã½á¹û¼¯ÖеÄÊý¾Ý×÷Ϊ¹ýÂË
Ìõ¼þÒ»ÌõÌõµÄµ½ÏÂÒ»¸ö±íÖвéѯÊý¾Ý£¬×îºóºÏ²¢½á¹û£¬Èç¹û´æÔÚºóÐø±í£¬¹ý³ÌÒ²Èç´Ë¡£
¾¡Á¿¼õÉÙjoinÓï¾äÖÐnested loopÑ»·µÄ´ÎÊý¡£×îÓÐЧµÄ·½·¨ÊÇÈÃÇý¶¯±íµÄ½á¹û¼¯¾¡¿ÉÄܵÄС
ÓÅÏÈÓÅ»¯nested ......
(1) Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò
(
Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ
)
£º
ORACLE µÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àí
from
×Ó¾ä
ÖеıíÃû£¬
from
×Ó¾äÖÐдÔÚ×îºóµÄ±í
(
»ù´¡±í
driving table)
½«±»×îÏÈ´¦Àí£¬ÔÚ
from
×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏÂ
,
Äã±ØÐëÑ¡
Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í ......