שאילתות מאוחדות באמצעות 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_id | workers_name |
---|---|
1 | Moshe |
2 | Yekhezkel |
3 | Yirmiyahu |
8 | Sheshet |
9 | Eliezer |
10 | Shlomo |
חשוב לדעת ש-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_id | workers_name | workers_city |
---|---|---|
1 | Moshe | Hakrayot |
2 | Yekhezkel | Ramat Hasharon |
3 | Yirmiyahu | Bat Yam |
8 | Sheshet | Hakrayot |
9 | Eliezer | Hakrayot |
10 | Shlomo | Hakrayot |
שימו לב, ש-Moshe אינו מוצג פעמיים למרות שהוא אחד משלושת העובדים הראשונים וגם תושב הקריות.
במדריך הבא נלמד כיצד לטפל במחרוזות בעזרת mySQL
אהבתם? לא אהבתם? דרגו!
0 הצבעות, ממוצע 0 מתוך 5 כוכבים