אופרטור SET מאפשר לנו לבצע שילוב של תוצאות ממספר שאילתות.
מבנה השאילתא:
SELECT <query 1>
SET OPERATOR
SELECT <query 2>
UNION
שילוב של ערכים משתי שאילתות. מביא ערכים ייחודיים.
בדוגמא נקבל ערכים של ערים שמגיעים משתי הטבלאות. ערכים חופפים יגיעו רק פעם אחת.
SELECT city
FROM employees
UNION
SELECT city
FROM customers
UNION ALL
שילוב של ערכים משתי שאילתות. ערכים שנמצאים יותר מפעם אחת יופיעו גם בתוצאה יותר מפעם אחת.
בדוגמא נקבל ערכים של ערים משתי הטבלאות עם ערים כפולות במידה שיופיעו.
SELECT city
FROM employees
UNION ALL
SELECT city
FROM customers
INTERSECT
שילוב של ערכי שאילתות כאשר יופיעו רק הערכים שמשותפים לשתי השאילתות.
בדוגמא נקבל רק את הערים שנמצאות גם בטבלת employees וגם בטבלת customers.
SELECT city
FROM employees
INTERSECT
SELECT city
FROM customers
EXCEPT
בשימוש ב-EXCEPT נקבל את הערכים שנמצאים בשאילתא הראשונה, אבל לא בשנייה. מחסרים את תוצאות האילתא השנייה ממה שיצא בראשונה.
בדוגמא נקבל את הערים שנמצאים בטבלת employees. אם יש ערכים שמופיעים גם ב-customers הם יוסרו מהרשימה.
SELECT city
FROM employees
EXCEPT
SELECT city
FROM customers
תרגול SET Operators – שאלות
- הצג את רשימת הערים מתוך טבלת עובדים
- הצג את רשימת הערים מתוך טבלת לקוחות
- הצג את השילוב הייחודי של הערים בטבלת לקוחות ועובדים
- הצג את כל הערים בטבלת לקוחות ועובדים כולל ערים אשר חוזרות על עצמן
- הצג את הערים המשותפות לטבלת לקוחות ועובדים
- הצג את הערים אשר מופיעות בטבלת עובדים ולא מופיעות בטבלת לקוחות
תרגול SET Operators – תשובות
-- ex1
select
City
from Employees
-- ex2
select
City
from Customers
-- ex3
select
City
from Employees
Union
select
City
from Customers
-- ex4
select
City
from Employees
Union all
select
City
from Customers
-- ex5
select
City
from Employees
INTERSECT
select
City
from Customers
-- ex6
select
City
from Employees
EXCEPT
select
City
from Customers