SQL UnionºÍUnion AllµÄʹÓ÷½·¨
¡¡UNIONÖ¸ÁîµÄÄ¿µÄÊǽ«Á½¸öSQLÓï¾äµÄ½á¹ûºÏ²¢ÆðÀ´¡£´ÓÕâ¸ö½Ç¶ÈÀ´¿´£¬ ÎÒÃÇ»á²úÉúÕâÑùµÄ¸Ð¾õ£¬UNION¸úJOINËƺõÓÐЩÐíÀàËÆ£¬ÒòΪÕâÁ½¸öÖ¸Á¿ÉÒÔÓɶà¸ö±í¸ñÖÐߢȡ×ÊÁÏ¡£ UNIONµÄÒ»¸öÏÞÖÆÊÇÁ½¸ö SQL Óï¾äËù²úÉúµÄÀ¸Î»ÐèÒªÊÇͬÑùµÄ×ÊÁÏÖÖÀà¡£ÁíÍ⣬µ±ÎÒÃÇÓà UNIONÕâ¸öÖ¸Áîʱ£¬ÎÒÃÇÖ»»á¿´µ½²»Í¬µÄ×ÊÁÏÖµ (ÀàËÆ SELECT DISTINCT)¡£ unionÖ»Êǽ«Á½¸ö½á¹ûÁª½áÆðÀ´Ò»ÆðÏÔʾ£¬²¢²»ÊÇÁª½áÁ½¸ö±í
¡¡¡¡UNION µÄÓï·¨ÈçÏ£º [SQL Óï¾ä 1]
¡¡¡¡UNION
¡¡¡¡[SQL Óï¾ä 2] ¼ÙÉèÎÒÃÇÓÐÒÔϵÄÁ½¸ö±í¸ñ£¬
¡¡¡¡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
¡¡¡¡Internet Sales ±í¸ñ Date Sales
¡¡¡¡Jan-07-1999 $250
¡¡¡¡Jan-10-1999 $535
¡¡¡¡Jan-11-1999 $320
¡¡¡¡Jan-12-1999 $750
¡¡¡¡¶øÎÒÃÇÒªÕÒ³öÀ´ËùÓÐÓÐÓªÒµ¶î (sales) µÄÈÕ×Ó¡£Òª´ïµ½Õâ¸öÄ¿µÄ£¬ÎÒÃÇÓÃÒÔÏ嵀 SQL Óï¾ä£º
¡¡¡¡SELECT Date from Store_Information
¡¡¡¡UNION
¡¡¡¡SELECT Date from Internet_Sales ½á¹û:
¡¡¡¡Date
¡¡¡¡Jan-05-1999
¡¡¡¡Jan-07-1999
¡¡¡¡Jan-08-1999
¡¡¡¡Jan-10-1999
¡¡¡¡Jan-11-1999
¡¡¡¡Jan-12-1999
¡¡¡¡ÓÐÒ»µãÖµµÃ×¢ÒâµÄÊÇ£¬Èç¹ûÎÒÃÇÔÚÈκÎÒ»¸ö SQL Óï¾ä (»òÊÇÁ½¾ä¶¼Ò»Æð) Óà "SELECT DISTINCT Date" µÄ»°£¬ÄÇÎÒÃÇ»áµÃµ½ÍêÈ«Ò»ÑùµÄ½á¹û¡£
¡¡¡¡SQL Union All
¡¡¡¡UNION ALL Õâ¸öÖ¸ÁîµÄÄ¿µÄÒ²ÊÇÒª½«Á½¸ö SQL Óï¾äµÄ½á¹ûºÏ²¢ÔÚÒ»Æð¡£ UNION ALL ºÍ UNION ²»Í¬Ö®´¦ÔÚÓÚ UNION ALL »á½«Ã¿Ò»±Ê·ûºÏÌõ¼þµÄ×ÊÁ϶¼ÁгöÀ´£¬ÎÞÂÛ×ÊÁÏÖµÓÐÎÞÖظ´¡£ UNION ALL µÄÓï·¨ÈçÏ£º [SQL Óï¾ä 1]
¡¡¡¡UNION ALL
¡¡¡¡[SQL Óï¾ä 2] ÎÒÃÇÓúÍÉÏһҳͬÑùµÄÀý×ÓÀ´ÏÔʾ³ö UNION ALL ºÍ UNION µÄ²»Í¬¡£Í¬Ñù¼ÙÉèÎÒÃÇÓÐÒÔÏÂÁ½¸ö±í¸ñ:
¡¡¡¡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
¡¡¡¡Internet Sales ±í¸ñ Date Sales
¡¡¡¡Jan-07-1999 $250
¡¡¡¡Jan-10-1999 $5
Ïà¹ØÎĵµ£º
×÷Òµ¹ÜÀí
×Ô¶¯´¦ÀíÒ»¸öÈÎÎñµÄµÚÒ»²½ÊÇ´´½¨¶ÔÓ¦µÄ×÷Òµ£¬×÷Òµ¿ÉÒÔʹÓÃÁ½ÖÖ¹¤¾ßÀ´´´½¨£¬¼´´´½¨×÷ÒµÏòµ¼ºÍSQL Server ÆóÒµ¹ÜÀíÆ÷¡£´´½¨×÷Òµ×îÈÝÒ׵ķ½·¨ÊÇʹÓô´½¨×÷ÒµÏòµ¼£¬Ò»°ãÀ´Ëµ£¬Èç¹ûÒª´´½¨×÷Òµ£¬±ØÐëÖ´ÐÐÒÔÏÂÈý¸ö²½Ö裺
(1)¶¨Òå×÷Òµ²½£»
(2)Èç¹û¸Ã×÷Òµ²»ÊÇÓû§Ö¸¶¨Ö´ÐУ¬´´½¨×÷ÒµÖ´Ðеĵ÷¶Èʱ¼ä£»
(3)֪ͨ²Ù×÷Ô±×÷Òµ ......
¶¨Òå²Ù×÷Ô±
SQL Server´úÀíÍê³ÉÒ»¸ö×÷Òµºó£¬Í¨Öª²Ù×÷Ô±µÄ·½·¨ÓжàÖÖ¡£
ÀýÈ磬ͨ¹ýÃüÁîϵͳ°ÑÏàÓ¦µÄÏûϢдÈëWindows NTʼþÈÕÖ¾ÖУ¬ÒÔ±ã֪ͨϵͳ¹ÜÀíÔ±·´¸´¶ÁÈ¡´ËÈÕÖ¾¡£
ÁíÍâÒ»ÖÖ¸üºÃµÄÑ¡Ôñ¾ÍÊÇʹÓõç×ÓÓʼþ¡¢´«ºô»ú»òÍøÂç´«ËͰѾ¯±¨ÏûϢ֪ͨ¸ø²Ù×÷Ô±¡£²Ù×÷Ô±ÊÇSQL Server´úÀí·¢ËÍÏûÏ¢µÄ½ÓÊÕÕߣ¬²Ù×÷Ô±¿ÉÒÔÔÚÒ»¸ö×÷ҵ֮ǰ ......
¾¯±¨¹ÜÀí
×÷ÒµÖ´ÐÐʱ£¬SQL Server´íÎóÏûÏ¢µÄÐÅÏ¢´æ·ÅÔÚWindowsÊÂÎñÈÕÖ¾ÖС£SQL Server´úÀí¶ÁÈ¡Õâ¸öÈÕÖ¾£¬²¢±È½Ï´æ´¢µÄÏûÏ¢ÓëΪϵͳ¶¨ÒåµÄ¾¯±¨£¬Èç¹ûÆ¥Å䣬SQL Server´úÀí¼¤»î¸Ã¾¯±¨£¬ËùÒÔ£¬¾¯±¨¿ÉÒÔÓÃÓÚÏìӦDZÔÚµÄÎÊÌâ(ÈçÌîÂúÊÂÎñÈÕÖ¾)¡£µ±¾¯±¨±»´¥·¢Ê±£¬Í¨¹ýµç×ÓÓʼþ»òÕßÑ°ºô֪ͨ²Ù×÷Ô±£¬´Ó¶øÈòÙ×÷Ô±Á˽âϵͳÖз¢ÉúÁËʲà ......
---·µ»Ø±í´ïʽÖÐÖ¸¶¨×Ö·ûµÄ¿ªÊ¼Î»ÖÃ
select charindex('c','abcdefg',1)
---Á½¸ö×Ö·ûµÄÖµÖ®²î
select difference('bet','bit')
---×Ö·û×î×ó²àÖ¸¶¨ÊýÄ¿
select left('abcdef',3)
---·µ»Ø×Ö·ûÊý
select len('abcdefg')
--ת»»ÎªÐ¡×Ö·û
select lower('ABCDEFG')
--È¥×ó¿Õ¸ñºó
select ltrim(' &nbs ......