7.4. СоÑеÑание запÑоÑов
РезÑлÑÑаÑÑ Ð´Ð²ÑÑ Ð·Ð°Ð¿ÑоÑов можно обÑабоÑаÑÑ, иÑполÑзÑÑ Ð¾Ð¿ÐµÑаÑии над множеÑÑвами: обÑединение, пеÑеÑеÑение и вÑÑиÑание. ÐÑи опеÑаÑии запиÑÑваÑÑÑÑ ÑооÑвеÑÑÑвенно Ñак:
запÑоÑ1UNION [ALL]запÑоÑ2запÑоÑ1INTERSECT [ALL]запÑоÑ2запÑоÑ1EXCEPT [ALL]запÑоÑ2
ÐдеÑÑ Ð·Ð°Ð¿ÑоÑ1 и запÑоÑ2 â ÑÑо запÑоÑÑ, в коÑоÑÑÑ
могÑÑ Ð¸ÑполÑзоваÑÑÑÑ Ð²Ñе возможноÑÑи, ÑаÑÑмоÑÑеннÑе до ÑÑого. ÐпеÑаÑии над множеÑÑвами Ñоже можно вкладÑваÑÑ Ð¸ ÑоединÑÑÑ, напÑимеÑ:
запÑоÑ1UNIONзапÑоÑ2UNIONзапÑоÑ3
ÐÑÐ¾Ñ ÑложнÑй запÑÐ¾Ñ Ð²ÑполнÑеÑÑÑ Ñак:
(запÑоÑ1UNIONзапÑоÑ2) UNIONзапÑоÑ3
UNION по ÑÑÑи добавлÑÐµÑ ÑезÑлÑÑаÑÑ Ð²ÑоÑого запÑоÑа к ÑезÑлÑÑаÑам пеÑвого (Ñ
оÑÑ Ð½Ð¸ÐºÐ°ÐºÐ¾Ð¹ поÑÑдок возвÑаÑаемÑÑ
ÑÑÑок пÑи ÑÑом не гаÑанÑиÑÑеÑÑÑ). Ðолее Ñого, ÑÑа опеÑаÑÐ¸Ñ ÑбиÑÐ°ÐµÑ Ð´ÑблиÑÑÑÑиеÑÑ ÑÑÑоки из ÑезÑлÑÑаÑа Ñак же, как ÑÑо Ð´ÐµÐ»Ð°ÐµÑ DISTINCT, еÑли ÑолÑко не Ñказано UNION ALL.
INTERSECT возвÑаÑÐ°ÐµÑ Ð²Ñе ÑÑÑоки, ÑодеÑжаÑиеÑÑ Ð² ÑезÑлÑÑаÑе и пеÑвого, и вÑоÑого запÑоÑа. ÐÑблиÑÑÑÑиеÑÑ ÑÑÑоки оÑÑилÑÑÑовÑваÑÑÑÑ, еÑли не Ñказано ALL.
EXCEPT возвÑаÑÐ°ÐµÑ Ð²Ñе ÑÑÑоки, коÑоÑÑе еÑÑÑ Ð² ÑезÑлÑÑаÑе пеÑвого запÑоÑа, но оÑÑÑÑÑÑвÑÑÑ Ð² ÑезÑлÑÑаÑе вÑоÑого. (Ðногда ÑÑо назÑваÑÑ ÑазниÑей двÑÑ
запÑоÑов.) РздеÑÑ Ð´ÑблиÑÑÑÑиеÑÑ ÑÑÑоки оÑÑилÑÑÑовÑваÑÑÑÑ, еÑли не Ñказано ALL.
ЧÑÐ¾Ð±Ñ Ð¼Ð¾Ð¶Ð½Ð¾ бÑло вÑÑиÑлиÑÑ Ð¾Ð±Ñединение, пеÑеÑеÑение или ÑазниÑÑ ÑезÑлÑÑаÑов двÑÑ Ð·Ð°Ð¿ÑоÑов, ÑÑи запÑоÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Â«ÑовмеÑÑимÑми Ð´Ð»Ñ Ð¾Ð±ÑединениÑ», ÑÑо ознаÑаеÑ, ÑÑо они Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ð¾Ðµ ÑиÑло ÑÑолбÑов и ÑооÑвеÑÑÑвÑÑÑие ÑÑолбÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ ÑовмеÑÑимÑÑ Ñипов, как опиÑÑваеÑÑÑ Ð² Разделе 10.5.