JOIN בסיסי חלק 1
חלק מהיחידה יסודות במסלול ה-SQL של Coddy. שיעור 43 מתוך 72.
עד עכשיו עסקנו בבעיות של טבלה יחידה. עכשיו נבחן איך לטפל בכמה טבלאות.
נניח שיש לנו את הטבלאות הבאות:
קורסים
| course_id | lecturer_id |
|---|---|
| 1 | 1 |
| 2 | 1 |
| 3 | 2 |
מרצים
| lecturer_id | שם |
|---|---|
| 1 | Jhonas |
| 2 | Malidos |
המשימה היא להציג כל קורס לצד שם המרצה המתאים.
יש שתי דרכים להשיג זאת. בכל אחת מהאפשרויות, אנחנו מתאימים כל שורה בטבלה אחת לשורה בטבלה האחרת. אנחנו בודקים תנאי שחייב להתקיים, ואם התנאי מתקיים, אנחנו משלבים את שתי השורות לאחת. התוצאה הרצויה בשתי האפשרויות:
| course_id | lecturer_name |
|---|---|
| 1 | Jhonas |
| 2 | Jhonas |
| 3 | Malidos |
אפשרות 1:
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_idכאן אנחנו כותבים שתי טבלאות במילת המפתח FROM, ובתנאי WHERE אנחנו מבקשים שהערך של lecturer_id בשתי הרשומות יהיה זהה. בתנאי SELECT אנחנו כותבים עכשיו table.column כדי שמסד הנתונים ידע מאיזו טבלה לשלוף את העמודה.
אפשרות 2:
SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses
JOIN lecturers ON courses.lecturer_id = lecturers.lecturer_idבמקום WHERE משתמשים ב־JOIN table ON condition
שתי האפשרויות נותנות את אותה תוצאה ונקראות צירוף פנימי: רק זוגות של שורות שעומדים בתנאי משולבים.
אתגר
קלטבלאות ועמודות זמינות:
grades:course_id,student_id,gradestudents:id,name
צרו שאילתה שמביאה את student_name, את course_id, את student_id ואת grade בטבלה אחת. סדרו את התוצאה לפי הציון בסדר עולה.
נסו בעצמכם
-- הצג את העמודות המבוקשות במשימה, תוך שימוש בכינוי המבוקש
SELECT ____
FROM students, grades
-- השאר רק את זוגות השורות שבהם שתי הטבלאות מתארות את אותו אדם
WHERE ____
ORDER BY gradeהשיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
2תנאים
יסודות התנאיםמילת המפתח ANDמילת המפתח ORמילת המפתח NOTשילוב של תנאים מרוביםסוגרייםערכים בוליאניים3פורמט החזרה ספציפי
ערכי Nullמיון תוצאות – חלק 1מיון תוצאות – חלק 2סיכום – חברת אבטחת סייברהגבלת מספר הרשומותסיכום – מפעל כלי רכב6אתגרי מבוא
חזרה – בחירות לפרלמנטחזרה – מעצר חשוד בידי המשטרהחזרה – כלי משקה בברחזרה – מהנדסים עמודות חדשותתרגלו בעצמכם: SQL אונליין