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 אונליין