Ê×ÏÈÇë¿´
http://topic.csdn.net/u/20070821/15/8a2dac05-51b8-4eb1-b41d-4fbe8a232c85.html
ÌûÖдÓʵ¼ÊÎÊÌâ³ö·¢£¬ÌÖÂÛSQLÓï¾äÖÐÈçºÎ±íʾ³ý·¨ÔËËã¡£
ÒÔÏÂÊÇÎÊÌâµÄ¸ø³öÓë¼òÒªÃèÊö£º
±íA£ºÉ̵êÐÅÏ¢
ANO, ANAME, WQTY, CITY
101, ɨɽÊéµê, 15, ³¤É³
204, ǰÃÅÉ̵ê, 89, ±±¾©
256, ¶«·çÉ̳¡, 501, ±±¾©
345, ÌúµÀÉ̵ê, 76, ³¤É³
620, Î人É̳¡, 413, Î人
±íB£ºÉÌÆ·ÐÅÏ¢
BNO, BNAME, PRICE
1, ë±Ê, 21
2, ÓðëÇò, 4
3, ÊÕÒô»ú, 325
4, Êé°ü, 242
±íAB£ºÉ̵ê-ÉÌÆ·¶ÔÓ¦¹ØÏµ
ANO, BNO, QTY
101, 1, 105
101, 2, 42
101, 3, 25
101, 4, 104
204, 3, 61
256, 1, 241
256, 2, 91
345, 1, 141
345, 2, 18
345, 4, 74
620, 4, 125
ÏÖÔÚÒªÕÒ³öÖÁÉÙ¹©Ó¦´úºÅΪ256µÄÉ̵êËù¹©Ó¦µÄÈ«²¿ÉÌÆ·µÄÉ̵ê´úºÅANO£¬Ö»Éæ¼°µ½±íAB¡£Õâ¸öSQLÓï¾ä¸ÃÔõôд£¿
¾ßÌå˵£¬ÎÒÒѾ֪µÀ¹ØÏµ±í´ïʽÊÇ£º
π ano, bno (AB) ÷ π bno (σ ano = 256 (AB));
ÎÒµÄÎÊÌâÊÇ£ºÈçºÎ°ÑÕâÀïµÄ³ý·¨ÔËËãת»¯ÎªSQLÓï¾äÄØ£¿
È»ºóÏÂÃæÓкܶàµÄ»Ø´ð£¬ÔÚÕâÀïÎҾͲ»Ò»Ò»ÁгöÁË¡£
Ïȸø³öÎҵIJâÊÔDDLÓëSQLÓï¾ä¡£
--DDL:
CREATE TABLE AB(
ANO INT,
BNO INT,
QTY INT
);
INSERT INTO AB VALUES ( 101, 1, 105 );
INSERT INTO AB VALUES ( 101, 2, 42 );
INSERT INTO AB VALUES ( 101, 3, 25 );
INSERT INTO AB VALUES ( 101, 4, 104 );
INSERT INTO AB VALUES ( 204, 3, 61 );
INSERT INTO AB VALUES ( 256, 1, 241 );
INSERT INTO AB VALUES ( 256, 2, 91 );
INSERT INTO AB VALUES ( 345, 1, 141 );
INSERT INTO AB VALUES ( 345, 2, 18 );
INSERT INTO AB VALUES ( 345, 4, 74 );
INSERT INTO AB VALUES ( 620, 4, 125 );
--SQL:
--1¡¢Õýͳ×ö·¨£º
SELECT DISTINCT ANO from AB
WHERE ANO NOT IN (
SELECT ANO from (
SELECT ANO,BNO from (
SELECT ANO from AB
) AS r1 CROSS JOIN (
SELECT BNO from AB
WHERE ANO = 256
) AS s1
) AS rs1
WHERE CHECKSUM(ANO,BNO)
ÔÚJAVAÖеÄSQL Óï¾äµÄ±àд·½Ã棬ûÓÐʹÓÃORACLE °ó¶¨±äÁ¿£¬ºÜ´ó³Ì¶ÈÉϽµµÍÁËÊý¾Ý¿âµÄÐÔÄÜ£¬±íÏÖÔÚÁ½¸ö·½Ã棺
1¡¢SQLÓï¾äÓ²·ÖÎö(Hard Parse)Ì«¶à£¬ÑÏÖØÏûºÄCPU×ÊÔ´£¬ÑÓ³¤ÁËSQLÓï¾ä×ܵÄÖ´ÐÐʱ¼ä
SQLÓï¾äµÄÖ´Ðйý³Ì·Ö¼¸¸ö²½Ö裺Óï·¨¼ì²é¡¢·ÖÎö¡¢Ö´ÐС¢·µ»Ø½á¹û¡£ÆäÖзÖÎöÓÖ·ÖΪӲ·ÖÎö(Hard Parse)ºÍÈí·ÖÎö(Soft Pars ......
ʹÓÃË÷Òý¿É¿ìËÙ·ÃÎÊÊý¾Ý¿â±íÖеÄÌØ¶¨ÐÅÏ¢¡£Ë÷ÒýÊǶÔÊý¾Ý¿â±íÖÐÒ»Áлò¶àÁеÄÖµ½øÐÐÅÅÐòµÄÒ»Öֽṹ£¬ÀýÈç employee ±íµÄÐÕ£¨lname£©ÁС£Èç¹ûÒª°´ÐÕ²éÕÒÌØ¶¨Ö°Ô±£¬Óë±ØÐëËÑË÷±íÖеÄËùÓÐÐÐÏà±È£¬Ë÷Òý»á°ïÖúÄú¸ü¿ìµØ»ñµÃ¸ÃÐÅÏ¢¡£
¡¡¡¡Ë÷ÒýÊÇÒ»¸öµ¥¶ÀµÄ¡¢ÎïÀíµÄÊý¾Ý¿â½á¹¹£¬ËüÊÇij¸ö±íÖÐÒ»ÁлòÈô¸ÉÁÐÖµµÄ¼¯ºÏºÍÏàÓ¦µÄÖ¸Ïò±íÖÐÎïÀ ......
ÏÖÔÚ·ÖÒ³·½·¨´ó¶à¼¯ÖÐÔÚselect top/not in/Óαê/row_number£¬¶øselect top·ÖÒ³(ÔÚÕâ»ù´¡ÉÏ»¹Óжþ·Ö·¨)·½·¨Ëƺõ¸üÊÜ´ó¼Ò»¶Ó£¬ÕâÆªÎÄÕ²¢²»´òËãÈ¥ÌÖÂÛÊÇ·ñͨÓõÄÎÊÌ⣬±¾×ÅʵÓõÄÔÔò£¬»¨ÁËһЩʱ¼äÈ¥²âÊÔrow_number()·ÖÒ³µÄÐÔÄÜ£¬¸Ð¾õ²¢²»ÏñÒ»²¿·ÖÈËËù˵µÄÄÇô¼¦Àߣ¬ÓÉÓÚ½Ó´¥Èí¼þ¿ª·¢²ÅÊ®¸öÔ£¬·½·½ÃæÃæµÄ¶«Î÷¶¼ÒªÑ§ ......