שאילתות משנה של SQL הן תכונות חשובות שמאפשרות לנו להטמיע שאילתה אחת בתוך אחרת מה שמוסיף יותר חשיבות לאחזור ו מניפולציה של נתונים בצורה מסובכת. הוא משמש להגדרת טבלאות זמניות או תוצאות ביניים שישמשו לאחר מכן את השאילתה החיצונית.
שאילתת משנה בסעיף FROM
ניתן להשתמש בסעיף FROM כדי לציין ביטוי של שאילתת משנה ב-SQL. היחס שנוצר על ידי שאילתת המשנה משמש לאחר מכן כיחס חדש שעליו מוחל השאילתה החיצונית עבור פעולות נוספות. שאילתות משנה ב-FROMהסעיף משמש כאשר אנו צריכים ליצור מערך נתונים זמני שאינו קיים באף טבלה פיזית. זה יכול להיות מועיל ביותר כאשר עובדים עם מערכי נתונים מורכבים.
כיצד להפנות מצביע ב-c
לא ניתן להשתמש במשתני המתאם מהטבלאות שאליהם מתייחסים בסעיף FROM של השאילתה החיצונית ישירות בתוך שאילתות המשנה בסעיף FROM. להלן שני תחבירים של שימוש בשאילתת משנה בסעיף FROM המשמש בתרחישים שונים.
1. שאילתת משנה פשוטה ב-FROMסָעִיף:
בחר עמודה1 עמודה2
FROM (SELECT column_x AS C1 column_y FROM table WHERE condition) AS subquery_table
WHERE outer_condition;
2. שאילתת משנה ב-FROMסעיף עםJOIN:
בחר עמודה1 עמודה2
FROM (בחר column_x AS C1 column_y FROM table WHERE PREDICATE_X) AS table2
שאלות ראיון בשפת ג'אווהJOIN table1 ON table2.some_column = table1.some_column
היכן מנחה;
פרמטרים:
- שאילתת משנה : השאילתה הפנימית מוקפת בסוגריים. הוא מאחזר נתונים שיפעלו כטבלה זמנית.
- כינוי : יש לתת לשאילתת המשנה כינוי (
subquery_table) להתייחסות בשאילתה החיצונית. - שאילתה חיצונית : לאחר מכן, השאילתה החיצונית יכולה לעבוד עם הטבלה הזמנית הזו שנוצרה על ידי שאילתת המשנה החלת מסננים או ביצוע פעולות נוספות.
כיצד פועלות שאילתות משנה בסעיף FROM
- הערכת שאילתות משנה : שאילתת המשנה בסעיף from מוערכת תחילה ולאחר מכן תוצאות ההערכה מאוחסנות בקשר זמני חדש.
- שאילתה חיצונית : לאחר שהשאילתה המשנה מבצעת ומחזירה מערך נתונים, השאילתה החיצונית מוערכת תוך בחירה רק באותן tuples מהקשר הזמני שעונה על הפרדיקט בסעיף where של השאילתה החיצונית.
דוגמה לשימוש בשאילתת משנה בסעיף FROM
בואו נדון בכמה דוגמאות מהעולם האמיתי כדי להבין כיצד שאילתות משנה בסעיף FROM פועלות בפועל. כאן יש לנו שני שולחנות מַדְרִיך טבלה המכילה מידע על מדריכים כולל שכרם והמחלקה שלהם. אחד אחר הוא מַחלָקָה טבלה המכילה מידע על מחלקות שונות כולל תקציב המחלקה.
מַדְרִיך לוּחַ
| מזהה מדריך | שֵׁם | מַחלָקָה | מַשׂכּוֹרֶת |
|---|---|---|---|
| 44547 | נַפָּח | מדעי המחשב | 95,000 |
| 44541 | הַצָעַת חוֹק | חַשׁמַלִי | 55,000 |
| 47778 | לְבַד | מַדָעֵי הָרוּחַ | 44000 |
| 48147 | אריק | מֵכָנִי | 80000 |
| 411547 | צֳרִי | טכנולוגיית מידע | 65,000 |
| 48898 | ג'נה | אֶזרָחִי | 50000 |
מַחלָקָה לוּחַ
| שם המחלקה | תַקצִיב |
|---|---|
| מדעי המחשב | 100000 |
| חַשׁמַלִי | 80000 |
| מַדָעֵי הָרוּחַ | 50000 |
| מֵכָנִי | 40000 |
| טכנולוגיית מידע | 90000 |
| אֶזרָחִי | 60000 |
דוגמה 1: מצא את כל הפרופסורים ששכרם גבוה מהתקציב הממוצע של כל המחלקות.
בדוגמה זו נשתמש בשאילתת משנה בסעיף FROM כדי לחשב את התקציב הממוצע של כל המחלקות ולאחר מכן נעשה את ההשוואה עם שכר המדריכים.
Java listnode
שְׁאֵלָה:
שיטות Java arraylist
SELECT I.InstructorID I.Name I.Department I.Salary
FROM (SELECT AVG(Budget) AS averageBudget FROM Department) AS BUDGET
Instructor AS I
WHERE I.Salary > BUDGET.averageBudget;
תְפוּקָה
| מזהה מדריך | שֵׁם | מַחלָקָה | מַשׂכּוֹרֶת |
|---|---|---|---|
| 44547 | נַפָּח | מדעי המחשב | 95,000 |
| 48147 | אריק | מֵכָנִי | 80000 |
הֶסבֵּר:
- התקציב הממוצע של כל המחלקות מהקשר המחלקה הוא 70000.
- אריק וסמית הם המדריכים היחידים ביחסי המדריכים ששכרם הוא יותר מ-70000 ולכן הם נוכחים ביחס התפוקה.
מדוע להשתמש בשאילתות משנה בסעיף FROM?
ישנם יתרונות שונים של שימוש בשאילתות משנה בסעיף FROM כפי שניתן להלן:
- פישוט : הם יכולים לפשט שאילתות מורכבות על ידי פירוקן לחלקים קטנים יותר ניתנים לניהול. אינך צריך ליצור טבלאות זמניות במפורש במסד הנתונים שלך.
- יכולת קריאה משופרת : שימוש בשאילתות משנה בסעיף FROM הופך את השאילתה לקריאה יותר כיוון היא מתחלקת > גְמִישׁוּת : שאילתות משנה מאפשרות לכם לבצע פעולות שאחרת יהיו לא נוחות כמו צבירה או סינון בהתייחס למערכי נתונים אחרים מבלי הצורך ליצור טבלאות ביניים.
מַסְקָנָה
שאילתות משנה בסעיף FROM מאפשרות לנו להגדיר ערכות תוצאות זמניות שעשויים להיות מנוצלים על ידי שאילתות חיצוניות. הם הופכים את פעולות SQL מורכבות לקלות יותר ומשפרות את קריאות השאילתות ומספקות גמישות בסינון ובצבירה של נתונים. לדעת איך לנצל שאילתות משנה בתוך סעיף FROM הוא מיומנות בסיסית עבור כל מתאמן SQL במיוחד כאשר מתעסקים עם מאגרי מידע מורכבים או כאשר צריך לבצע ניתוח נתונים מורכבים.
צור חידון