SQL INTERSECTµÄÓ÷¨
ºÍ UNION Ö¸ÁîÀàËÆ£¬ INTERSECT Ò²ÊǶÔÁ½¸ö SQL Óï¾äËù²úÉúµÄ½á¹û×ö´¦ÀíµÄ¡£²»Í¬µÄµØ·½ÊÇ£¬ UNION »ù±¾ÉÏÊÇÒ»¸ö OR (Èç¹ûÕâ¸öÖµ´æÔÚÓÚµÚÒ»¾ä»òÊǵڶþ¾ä£¬Ëü¾Í»á±»Ñ¡³ö)£¬¶ø INTERSECT Ôò±È½ÏÏñ AND ( Õâ¸öÖµÒª´æÔÚÓÚµÚÒ»¾äºÍµÚ¶þ¾ä²Å»á±»Ñ¡³ö)¡£ UNION ÊÇÁª¼¯£¬¶ø INTERSECT Êǽ»¼¯¡£
INTERSECT µÄÓï·¨ÈçÏ£º
[SQLÓï¾ä 1]
INTERSECT
[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
¶øÎÒÃÇÒªÕÒ³öÄļ¸ÌìÓеêÃæ½»Ò׺ÍÍøÂç½»Òס£Òª´ïµ½Õâ¸öÄ¿µÄ£¬ÎÒÃÇÓÃÒÔÏ嵀 SQL Óï¾ä£º
SELECT Date from Store_Information
INTERSECT
SELECT Date from Internet_Sales
½á¹û:
Date
Jan-07-1999
Çë×¢Ò⣬ÔÚ INTERSECT Ö¸ÁîÏ£¬²»Í¬µÄÖµÖ»»á±»ÁгöÒ»´Î¡£
Ïà¹ØÎĵµ£º
ÎÒÃDz¢²»Ò»¶¨Ã¿Ò»´Î¶¼Òª½«±í¸ñÄÚµÄ×ÊÁ϶¼Íêȫץ³ö¡£ÔÚÐí¶àʱºò£¬ÎÒÃÇ»áÐèҪѡÔñÐÔµØ×¥×ÊÁÏ¡£¾ÍÎÒÃǵÄÀý×ÓÀ´Ëµ£¬ÎÒÃÇ¿ÉÄÜֻҪץ³öÓªÒµ¶î³¬¹ý $1,000 µÄ×ÊÁÏ¡£Òª×öµ½ÕâÒ»µã£¬ÎÒÃǾÍÐèÒªÓõ½ WHERE Õâ¸öÖ¸Áî¡£Õâ¸öÖ¸ÁîµÄÓï·¨ÈçÏ£º
SELECT "À¸Î»Ãû"
from "±í¸ñÃû"
WHERE "Ìõ¼þ"
ÈôÎÒÃÇÒªÓÉÒÔϵıí¸ñ×¥³öÓªÒµ¶î³¬¹ý $1, ......
IN Õâ¸öÖ¸Áî¿ÉÒÔÈÃÎÒÃÇÒÀÕÕÒ»»òÊý¸ö²»Á¬Ðø (discrete) µÄÖµµÄÏÞÖÆÖ®ÄÚ×¥³öÊý¾Ý¿âÖеÄÖµ£¬¶ø BETWEEN ÔòÊÇÈÃÎÒÃÇ¿ÉÒÔÔËÓÃÒ»¸ö·¶Î§ (range) ÄÚ×¥³öÊý¾Ý¿âÖеÄÖµ¡£BETWEENÕâ¸ö×Ó¾äµÄÓï·¨ÈçÏ£º
SELECT "À¸Î»Ãû"
from " ±í¸ñÃû"
WHERE "À¸Î»Ãû" BETWEEN 'ÖµÒ»' AND 'Öµ¶þ'
Õ⽫ѡ³öÀ¸Î»Öµ°üº¬ÔÚÖµÒ»¼°Öµ¶þÖ®¼äµÄÿһ±Ê× ......
µ½Ä¿Ç°ÎªÖ¹£¬ÎÒÃÇÒÑѧµ½ÈçºÎ½åÓÉ SELECT ¼° WHEREÕâÁ½¸öÖ¸Á×ÊÁÏÓɱí¸ñÖÐ×¥³ö¡£²»¹ýÎÒÃÇÉÐδÌáµ½ÕâЩ×ÊÁÏÒªÈçºÎÅÅÁС£ÕâÆäʵÊÇÒ»¸öºÜÖØÒªµÄÎÊÌâ¡£ÊÂʵÉÏ£¬ÎÒÃǾ³£ÐèÒªÄܹ»½«×¥³öµÄ×ÊÁÏ×öÒ»¸öÓÐϵͳµÄÏÔʾ¡£Õâ¿ÉÄÜÊÇÓÉСÍù´ó (ascending) »òÊÇÓÉ´óÍùС(descending)¡£ÔÚÕâÖÖÇé¿öÏ£¬ÎÒÃǾͿÉÒÔÔËÓà ORDER BYÕâ¸öÖ¸ÁîÀ´´ïµ½ ......
UNION ALL Õâ¸öÖ¸ÁîµÄÄ¿µÄÒ²ÊÇÒª½«Á½¸ö SQL Óï¾äµÄ½á¹ûºÏ²¢ÔÚÒ»Æð¡£ UNION ALL ºÍ UNION ²»Í¬Ö®´¦ÔÚÓÚ UNION ALL »á½«Ã¿Ò»±Ê·ûºÏÌõ¼þµÄ×ÊÁ϶¼ÁгöÀ´£¬ÎÞÂÛ×ÊÁÏÖµÓÐÎÞÖØ¸´¡£
UNION ALL µÄÓï·¨ÈçÏ£º
[SQL Óï¾ä 1]
UNION ALL
[SQL Óï¾ä 2]
ÎÒÃÇÓúÍÉÏһҳͬÑùµÄÀý×ÓÀ´ÏÔʾ³ö UNION ALL ºÍ UNION µÄ²»Í¬¡£Í¬Ñù¼ÙÉèÎÒÃÇ ......