נגישות       נגישות
שינוי גודל טקסט:
א א א
שינוי צבעי האתר:
? מקשי קיצור:

לחיצה חוזרת ונשנית על המקש Tab תעביר אתכם בין הקישורים והאזורים השונים בעמוד.

הפעלת מקשי הקיצור תלויה בדפדפן שבו אתם משתמשים.

Internet Explorer, Chrome ובגרסאות ישנות של Firefox: לחצו על מקש Alt ועל מקש המספר או האות על-פי הרשימה. ב Firefox 3 ומעלה: לחצו על המקשים Alt + Shift + המספר או האות.

S - עבור לתוכן הדף
L - חיפוש
1- עמוד הבית
2 - פרוייקטים
3 - מדריכים
4 - אודות
5 - צרו קשר
6 - הצהרת נגישות
 

תת-שאילתה של SQL

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

 

תת-שאילתה ( sub query ) היא שאילתה בתוך שאילתה .משתמשים בתת-שאילתה כשצריך מידע נוסף לפני שעונים על השאילתה העיקרית. במצב כזה, קודם שואלים את השאלה שמספקת את המידע הנוסף, זו תת-השאילתה, ואז עונים על השאלה עצמה.

לדוגמה, אם נרצה לדעת מיהם העובדים שלהם מספר מקסימלי של ילדים? לא נוכל לענות על השאלה הזו לפני שנענה על השאלה מהו המספר המקסימלי של ילדים שיש לכל עובד. לכן, השאלה מהו המספר המקסימלי של ילדים תהיה תת השאילתה שלנו.

אפשר לכתוב זאת כך:

תת-שאילתה (בלי שנענה עליה לא נוכל לענות על השאילתה העיקרית) : מהו המספר המקסימלי של ילדים?

השאילתה העיקרית (אחרי שענינו על תת השאילתה אנחנו יכולים לענות עליה) : מיהם העובדים שלהם מספר מקסימלי של ילדים?

הדוגמאות במדריך זה מבוססות על טבלת SQL שאותה ניתן להוריד מהקישור המצורף:

להורדה

 

תת-שאילתה הלכה למעשה

השאילתה הראשונה תענה על השאלה "מהו המספר המקסימלי של ילדים?"

SELECT MAX( `num_childs` )
FROM `workers`

והתשובה : 4

אחרי שקבלנו תשובה שהמספר המקסימלי של ילדים הוא 4, אנחנו יכולים לשאול את השאלה "לאיזה מהעובדים יש 4 ילדים?"

SELECT `workers_id` , `workers_name` , `num_childs`
FROM `workers`
WHERE `num_childs` = 4

והתשובה:

workers_id workers_name num_childs
7Yoshiahu4
12Koresh4

אבל מה שאנחנו צריכים זו תשובה אוטומטית, ולכן נשים את השאלה מהו המספר המקסימלי של ילדים בתור תת-שאילתה. את תת השאילתה נשים בין סוגריים. כך:

SELECT `workers_id` , `workers_name` , `num_childs`
FROM `workers`
WHERE `num_childs` = (
  SELECT MAX( `num_childs` )
  FROM `workers`
)

והתשובה:

workers_id workers_name num_childs
7Yoshiahu4
12Koresh4

לסיכום,כדי לבצע שאילתה הכוללת תת-שאילתה, נשים את תת-השאילתה בתוך סוגריים עגולים בשאילתה העיקרית.

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

 

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

 

= 5 + 3