חיבור טבלאות (JOIN)
למה צריך JOIN?
במסד נתונים יחסי, הנתונים מפוזרים בטבלאות נפרדות. JOIN מאפשר לחבר אותם יחד.
סוגי JOIN
| סוג | מה מחזיר |
|---|---|
INNER JOIN |
רק התאמות בשתי הטבלאות |
LEFT JOIN |
הכל משמאל + התאמות מימין |
RIGHT JOIN |
הכל מימין + התאמות משמאל |
FULL JOIN |
הכל משתי הטבלאות |
CROSS JOIN |
כל השילובים האפשריים |
1️⃣ INNER JOIN
SELECT users.name, orders.total
FROM users
INNER JOIN orders ON users.id = orders.user_id;
2️⃣ LEFT JOIN
SELECT users.name, orders.total
FROM users
LEFT JOIN orders ON users.id = orders.user_id;
3️⃣ חיבור מספר טבלאות
SELECT o.id, u.name, p.name AS product
FROM orders o
JOIN users u ON o.user_id = u.id
JOIN order_items oi ON o.id = oi.order_id
JOIN products p ON oi.product_id = p.id;
← שאילתות | המשך לפונקציות צבירה →
בדקו את עצמכם
נסו לענות לבד לפני שאתם פותחים את התשובה.
-
מה מחזיר INNER JOIN?
הצגת התשובה
תשובה ג. שורה בלי התאמה בצד השני לא תופיע.
-
איך מקבלים את כל המשתמשים, גם כאלה בלי הזמנות?
הצגת התשובה
תשובה ד. LEFT JOIN שומר את כל השורות מהטבלה השמאלית, ומשלים NULL כשאין התאמה.