OracleÖеÄUnion¡¢Union All¡¢Intersect¡¢Minus
ÖÚËùÖÜÖªµÄ¼¸¸ö½á¹û¼¯¼¯ºÏ²Ù×÷ÃüÁ½ñÌìÏêϸµØ²âÊÔÁËһϣ¬·¢ÏÖһЩÎÊÌ⣬¼Ç¼±¸¿¼¡£
¡¡¡¡¼ÙÉèÎÒÃÇÓÐÒ»¸ö±íStudent£¬°üÀ¨ÒÔÏÂ×Ö¶ÎÓëÊý¾Ý£º
¡¡¡¡drop table student;
¡¡¡¡create table student
¡¡¡¡(
¡¡¡¡id int primary key,
¡¡¡¡name nvarchar2(50) not null,
¡¡¡¡score number not null
¡¡¡¡);
¡¡¡¡insert into student values(1,'Aaron',78);
¡¡¡¡insert into student values(2,'Bill',76);
¡¡¡¡insert into student values(3,'Cindy',89);
¡¡¡¡insert into student values(4,'Damon',90);
¡¡¡¡insert into student values(5,'Ella',73);
¡¡¡¡insert into student values(6,'Frado',61);
¡¡¡¡insert into student values(7,'Gill',99);
¡¡¡¡insert into student values(8,'Hellen',56);
¡¡¡¡insert into student values(9,'Ivan',93);
¡¡¡¡insert into student values(10,'Jay',90);
¡¡¡¡commit;
¡¡¡¡UnionºÍUnion AllµÄÇø±ð¡£
¡¡¡¡select *
¡¡¡¡from student
¡¡¡¡where id < 4
¡¡¡¡union
¡¡¡¡select *
¡¡¡¡from student
¡¡¡¡where id > 2 and id < 6
¡¡¡¡½á¹û½«ÊÇ
¡¡¡¡1 Aaron 78
¡¡¡¡2 Bill 76
¡¡¡¡3 Cindy 89
¡¡¡¡4 Damon 90
¡¡¡¡5 Ella 73
¡¡¡¡Èç¹û»»³ÉUnion AllÁ¬½ÓÁ½¸ö½á¹û¼¯£¬Ôò·µ»Ø½á¹ûÊÇ£º
¡¡¡¡1 Aaron 78
¡¡¡¡2 Bill 76
¡¡¡¡3 Cindy 89
¡¡¡¡3 Cindy 89
¡¡¡¡4 Damon 90
¡¡¡¡5 Ella 73
¡¡¡¡¿ÉÒÔ¿´µ½£¬UnionºÍUnion AllµÄÇø±ðÖ®Ò»ÔÚÓÚ¶ÔÖØ¸´½á¹ûµÄ´¦Àí¡£
¡¡¡¡½ÓÏÂÀ´ÎÒÃǽ«Á½¸ö×Ó²éѯµÄ˳Ðòµ÷Õûһϣ¬¸ÄΪ
¡¡¡¡--Union
¡¡¡¡select *
¡¡¡¡from student
¡¡¡¡where id > 2 and id < 6
¡¡¡¡union
¡¡¡¡select *
¡¡¡¡from student
¡¡¡¡where id < 4
¡¡¡¡¿´¿´Ö´Ðнá¹ûÊÇ·ñºÍÄãÆÚÍûµÄÒ»Ö£¿
¡¡¡¡--Union All
¡¡¡¡select *
¡¡¡¡from student
¡¡¡¡where id > 2 and id < 6
¡¡¡¡union all
¡¡¡¡select *
¡¡¡¡from student
¡¡¡¡where id &l
Ïà¹ØÎĵµ£º
ÓкܶàÓ¦ÓÃÏîÄ¿, ¸ÕÆð²½µÄʱºòÓÃMYSQLÊý¾Ý¿â»ù±¾ÉÏÄÜʵÏÖ¸÷ÖÖ¹¦ÄÜÐèÇó£¬Ëæ×ÅÓ¦ÓÃÓû§µÄÔö¶à£¬Êý¾ÝÁ¿µÄÔö¼Ó£¬MYSQL½¥½¥µØ³öÏÖ²»¿°ÖظºµÄÇé¿ö£ºÁ¬½ÓºÜÂýÉõÖÁå´»ú£¬ÓÚÊǾÍÓаÑÊý¾Ý´ÓMYSQLǨµ½ORACLEµÄÐèÇó£¬Ó¦ÓóÌÐòÒ²ÒªÏàÓ¦×öһЩÐ޸ġ£±¾ÈË×ܽá³öÒÔϼ¸µã×¢ÒâÊÂÏϣÍû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
1.×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐÍ´¦Àí
MYSQLÓÐ ......
Navicat for xxx ÊÇÒ»¸öÓÅÐãµÄÊý¾Ý¿â¹ÜÀí¿Í»§¶Ë£¬ÓÐ MySQL¡¢Oracle µÈ°æ±¾¡£½¨Òé´ó¼Ò×îºÃÓà Enterprise °æ±¾£¬¹¦ÄÜÈ«ÃæÒ»Ð©£¬µ«½ÏÖ®ÓÚÃâ·ÑµÄ Lite °æ£¬ÆóÒµ°æ¿ÉÊÇÒª»¨Òø×ÓÂòµÄ¡£
°²×° Navicat for Oracle ºó£¬Ê×ÏÈÐèÒª½¨Ò»¸ö“Á¬½Ó”£¬×÷Ϊij¸ö¹ÜÀíÈÎÎñµÄ±êʶ£¬ÒòΪ×÷Î ......
а²×°ÁËһ̨Êý¾Ý¿â·þÎñÆ÷£¬°æ±¾ÊÇ10.2.0.1µÄ£¬ÒòΪÏÖÔÚ×îеÄÊÇ10.2.0.4µÄ¡£ °æ±¾µÍÁË£¬bug¶à¡£ËùÒԾͶÔÊý¾Ý¿â×öÁËÒ»¸öÉý¼¶¡£
·þÎñÆ÷ÊÇwindows 2003µÄϵͳ£¬¶¼ÊÇ¿ÉÊÓ»°²Ù×÷¡£ ÏÂÒ»²½µÄÎÊÌâ¡£ 10.2.0.4µÄpatchset ÀïÃæÒ²ÓÐÏêϸµÄ°²×°ËµÃ÷¡£ Ö®×ö¸ö×ܽá ......
OracleÖеÄHash JoinÏé½â
Ò»¡¢ hash join¸ÅÄî
Hashjoin(HJ)ÊÇÒ»ÖÖÓÃÓÚequi-join£¨¶øanti-join¾ÍÊÇʹÓÃNOT INʱµÄjoin£©µÄ¼¼Êõ¡£
ÔÚOracleÖУ¬ËüÊÇ´Ó7.3¿ªÊ¼ÒýÈëµÄ£¬ÒÔ´úÌæsort-mergeºÍnested-loop join·½Ê½£¬
Ìá¸ßЧÂÊ¡£ÔÚCBO£¨hash joinÖ»ÓÐÔÚCBO²Å¿ÉÄܱ»Ê¹Óõ½£©Ä£Ê½Ï£¬ÓÅ»¯Æ÷¼ÆËã´ú ......
1.ÔÚORACLEÖÐʵÏÖSELECT TOP N
ÓÉÓÚORACLE²»Ö§³ÖSELECT TOPÓï¾ä£¬ËùÒÔÔÚORACLEÖо³£ÊÇÓÃORDER BY¸úROWNUMµÄ×éºÏÀ´ÊµÏÖSELECT TOP NµÄ²éѯ¡£
¼òµ¥µØËµ£¬ÊµÏÖ·½·¨ÈçÏÂËùʾ£º
SELECT¡¡ÁÐÃû£±£®£®£®ÁÐÃû£î¡¡from
(SELECT¡¡ÁÐ ......