![]() |
# 1 |
חבר בקהילה
|
שאלה| על INNER JOIN בSQL
היי, רציתי לשאול מה ההבדל בין זה:
קוד:
SELECT messages.body, users.username FROM messages, users WHERE messages.poster = users.id קוד:
SELECT messages.body, users.username FROM messages INNER JOIN users ON messages.poster = users.id תודה (:
__________________
בתודה, אפי גבאי |
![]() |
![]() |
# 2 |
חבר מתקדם
|
בדרך כלל לא משתמשים בשיטה הראשונה. לא בטוח בידיוק למה, אם אתה רוצה לקבל את התשובה לשאלה הזאת כדי שתקרא קצת.
ה JOIN נועד למטרה של קבלת נתונים משני טבלאות או יותר שמכילות רשומות שנמצאות בכל הטבלאות שמבצעים עליהם את ה JOIN . עכשיו בדוגמא שהבאת צריך להשתמש ב LEFT JOIN ולא ב INNER. הסיבה היא ש INNER JOIN נועד לאחד את התוצאות של טבלה אחת לעצמה זאת אומרת מטבלה לדוגמא TEST לאותה טבלה (TEST) במקרה שלך אתה רוצה לקחת נתונים מטבלה אחת על פי רשומה מסויימת ולהוציא את נתונים נוספים מטבלה אחרת לפי אותה רשומה מהטבלה הראשונה את זה אפשר לעשות עם LEFT או RIGHT JOIN . ההבדל ביניהם הוא ש LEFT JOIN לוקח את הטבלה השנייה בתור הטבלה ה"מתאחדת" ו RIGHT JOIN לוקח את הטבלה השנייה בתור הטבלה "המאחדת" . יותר ברור מזה יהיה קשה להסביר בעברית. חיפוש קצר ברשת לגבי JOIN תתן הרבה תוצאות ומידע. |
![]() |
![]() |
# 3 |
חבר בקהילה
|
הסיבה שמשתמשים בעיקר ב-JOIN היא שזה שיפור של גירסא ב-sql היה את גירסא 1 שבה לא היה קיים ה-JOIN ולכן השתמשו בשיטה הראשונה שהראית אבל שהוסיפו את ה-JOIN עברו כי זה יותר יעיל מבחינת הוצאת הנתונים(זה הוראה בשינויים של הגירסא)
|
![]() |
![]() |
# 4 |
חבר וותיק
|
אפשר לראות הסבר של JOIN לMYSQL? בPHP
תודה |
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|