SQL ÍⲿÁ¬½ÓµÄÓ÷¨
֮ǰÎÒÃÇ¿´µ½µÄ×óÁ¬½Ó (left join)£¬ÓÖ³ÆÄÚ²¿Á¬½Ó (inner join)¡£ÔÚÕâ¸öÇé¿öÏ£¬ÒªÁ½¸ö±í¸ñÄÚ¶¼ÓÐͬÑùµÄÖµ£¬ÄÇÒ»±Ê×ÊÁϲŻᱻѡ³ö¡£ÄÇÈç¹ûÎÒÃÇÏëÒªÁгöÒ»¸ö±í¸ñÖÐÿһ±ÊµÄ×ÊÁÏ£¬ÎÞÂÛËüµÄÖµÔÚÁíÒ»¸ö±í¸ñÖÐÓÐûÓгöÏÖ£¬ÄǸÃÔõô°ìÄØ£¿ÔÚÕâ¸öʱºò£¬ÎÒÃǾÍÐèÒªÓõ½ SQL OUTER JOIN (ÍⲿÁ¬½Ó) µÄÖ¸Áî¡£
ÍⲿÁ¬½ÓµÄÓï·¨ÊÇÒÀÊý¾Ý¿âµÄ²»Í¬¶øÓÐËù²»Í¬µÄ¡£¾ÙÀýÀ´Ëµ£¬ÔÚ Oracle ÉÏ£¬ÎÒÃÇ»áÔÚ WHERE ×Ó¾äÖÐҪѡ³öËùÓÐ×ÊÁϵÄÄǸö±í¸ñÖ®ºó¼ÓÉÏÒ»¸ö "(+)" À´´ú±í˵Õâ¸ö±í¸ñÖеÄËùÓÐ×ÊÁÏÎÒÃǶ¼Òª¡£
¼ÙÉèÎÒÃÇÓÐÒÔϵÄÁ½¸ö±í¸ñ£º
Store_Information ±í¸ñ
store_name
Sales
Date
Los Angeles
$1500
Jan-05-1999
San Diego
$250
Jan-07-1999
Los Angeles
$300
Jan-08-1999
Boston
$700
Jan-08-1999
Geography ±í¸ñ
region_name
store_name
East
Boston
East
New York
West
Los Angeles
West
San Diego
ÎÒÃÇÐèÒªÖªµÀÿһ¼äµêµÄÓªÒµ¶î¡£Èç¹ûÎÒÃÇÓÃÒ»¸öÆÕͨµÄÁ¬½Ó£¬ÎÒÃǽ«»á©ʧµô 'New York'Õâ¸öµê£¬ÒòΪËü²¢²»´æÔÚÓÚ Store_Information Õâ¸ö±í¸ñ¡£ËùÒÔ£¬ÔÚÕâ¸öÇé¿öÏ£¬ÎÒÃÇÐèÒªÓÃÍⲿÁ¬½ÓÀ´´®ÁªÕâÁ½¸ö±í¸ñ£º
SELECT A1.store_name, SUM(A2.Sales) SALES
from Georgraphy A1, Store_Information A2
WHERE A1.store_name = A2.store_name (+)
GROUP BY A1.store_name
ÎÒÃÇÔÚÕâÀïÊÇʹÓÃÁË Oracle µÄÍⲿÁ¬½ÓÓï·¨¡£
½á¹û:
store_name
SALES
Boston
$700
New York
Los Angeles
$1800
San Diego
$250
Çë×¢Ò⣺ µ±µÚ¶þ¸ö±í¸ñûÓÐÏà¶ÔµÄ×ÊÁÏʱ£¬SQL »á´«»Ø NULL Öµ¡£ÔÚÕâÒ»¸öÀý×ÓÖУ¬ 'New York' ²¢²»´æÔÚÓÚ Store_Information ±í¸ñ£¬ËùÒÔËüµÄ "SALES" À¸Î»ÊÇ NULL¡£
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......
Èç¹ûÄãÕýÔÚ¸ºÔðÒ»¸ö»ùÓÚSQL ServerµÄÏîÄ¿£¬»òÕßÄã¸Õ¸Õ½Ó´¥SQL Server£¬Äã¶¼ÓпÉÄÜÒªÃæÁÙһЩÊý¾Ý¿âÐÔÄܵÄÎÊÌ⣬ÕâÆªÎÄÕ»áΪÄãÌṩһЩÓÐÓõÄÖ¸µ¼£¨ÆäÖдó¶àÊýÒ²¿ÉÒÔÓÃÓÚÆäËüµÄDBMS£©¡£
ÔÚÕâÀÎÒ²»´òËã½éÉÜʹÓÃSQL ServerµÄÇÏÃÅ£¬Ò²²»ÄÜÌṩһ¸ö°üÖΰٲ¡µÄ·½°¸£¬ÎÒËù×öµÄÊÇ×ܽáһЩ¾Ñé----¹ØÓÚÈçºÎÐγÉÒ»¸öºÃµÄÉè¼Æ¡£Õ ......
ÔÚÉÏÒ»Ò³ÖУ¬ÎÒÃÇ¿´µ½ WHERE Ö¸Áî¿ÉÒÔ±»ÓÃÀ´Óɱí¸ñÖÐ ÓÐÌõ¼þµØÑ¡È¡×ÊÁÏ¡£ Õâ¸öÌõ¼þ¿ÉÄÜÊǼòµ¥µÄ (ÏñÉÏÒ»Ò³µÄÀý×Ó)£¬Ò²¿ÉÄÜÊǸ´Ôӵġ£¸´ÔÓÌõ¼þÊÇÓɶþ»ò¶à¸ö¼òµ¥Ìõ¼þ͸¹ý AND »òÊÇ OR µÄÁ¬½Ó¶ø³É¡£Ò»¸ö SQL Óï¾äÖпÉÒÔÓÐÎÞÏÞ¶à¸ö¼òµ¥Ìõ¼þµÄ´æÔÚ¡£
¸´ÔÓÌõ¼þµÄÓï·¨ÈçÏ£º
SELECT "À¸Î»Ãû"
from "±í¸ñÃû"
WHERE "¼òµ¥Ìõ¼ ......
ÔÚ SQL ÖУ¬ÔÚÁ½¸öÇé¿öÏ»áÓõ½ IN Õâ¸öÖ¸ÁÕâÒ»Ò³½«½éÉÜÆäÖÐÖ®Ò»©¥©¥Óë WHERE ÓйصÄÄÇÒ»¸öÇé¿ö¡£ÔÚÕâ¸öÓ÷¨Ï£¬ ÎÒÃÇÊÂÏÈÒÑÖªµÀÖÁÉÙÒ»¸öÎÒÃÇÐèÒªµÄÖµ£¬¶øÎÒÃǽ«ÕâЩ֪µÀµÄÖµ¶¼·ÅÈë IN Õâ¸ö×Ӿ䡣 IN Ö¸ÁîµÄÓ﷨ΪÏ£º
SELECT "À¸Î»Ãû"
from "±í¸ñÃû"
WHERE "À¸Î»Ãû" IN ('ÖµÒ»', 'Öµ¶þ', ...)
ÔÚÀ¨»¡ÄÚ¿ÉÒÔÓÐÒ» ......