שאילתות מאוחדות באמצעות UNION

מחבר:
בתאריך:

להורדת קובץ ה-sql שמלווה את המדריך:

להורדה

הרבה פעמים נרצה להריץ מספר שאילתות, ולקבל סט אחד של תוצאות. לדוגמה, שמות 3 העובדים הראשונים ברשימת העובדים, וגם שמות העובדים 8 עד 10. לצורך כך נשתמש ב -UNION כדי שיחבר בין השאילתות.

שאילתה ראשונה, מוצאת את שמות שלושת העובדים הראשונים לפי ה-id:

SELECT `workers_id`, `workers_name`
FROM `workers`
WHERE `workers_id` <= 3

שאילתה שנייה, מוצאת את שמות העובדים שה-id שלהם 8 עד 10:

SELECT `workers_id`,`workers_name`
FROM `workers`
WHERE `workers_id` > 7 AND `workers_id` < 11

וכדי לאחד בין השאילתות נשתמש ב-UNION, כך נראית השאילתה המאוחדת:

SELECT `workers_id`,`workers_name` 
FROM `workers` 
WHERE `workers_id` <=3
UNION
SELECT `workers_id`,`workers_name` 
FROM `workers`
WHERE `workers_id` > 7 AND `workers_id` < 11

וזו התוצאה:

workers_idworkers_name
1Moshe
2Yekhezkel
3Yirmiyahu
8Sheshet
9Eliezer
10Shlomo

חשוב לדעת ש-UNION מציג כל רשומה (שורה במסד הנתונים) רק פעם אחת. לדוגמה, השאילתה הבאה שרוצה לשלוף את העובדים 1-3, וגם את אילו שגרים בקריות.

SELECT `workers_id`,`workers_name`,`workers_city` FROM `workers` 
WHERE `workers_id` <= 3
UNION
SELECT `workers_id`,`workers_name`,`workers_city` FROM `workers` 
WHERE `workers_city`='hakrayot'

והתוצאה:

workers_idworkers_nameworkers_city
1MosheHakrayot
2YekhezkelRamat Hasharon
3YirmiyahuBat Yam
8SheshetHakrayot
9EliezerHakrayot
10ShlomoHakrayot

שימו לב, ש-Moshe אינו מוצג פעמיים למרות שהוא אחד משלושת העובדים הראשונים וגם תושב הקריות.

במדריך הבא נלמד לאחד עמודות באמצעות שאילתה

לכל מדריכי ה- mySQL

 

 

אהבתם? לא אהבתם? דרגו!

0 הצבעות, ממוצע 0 מתוך 5 כוכבים

 

הוסף תגובה חדשה

 

= 5 + 9