![]() |
שאלה| על INNER JOIN בSQL
היי, רציתי לשאול מה ההבדל בין זה:
קוד:
SELECT messages.body, users.username קוד:
SELECT messages.body, users.username תודה (: |
בדרך כלל לא משתמשים בשיטה הראשונה. לא בטוח בידיוק למה, אם אתה רוצה לקבל את התשובה לשאלה הזאת כדי שתקרא קצת.
ה JOIN נועד למטרה של קבלת נתונים משני טבלאות או יותר שמכילות רשומות שנמצאות בכל הטבלאות שמבצעים עליהם את ה JOIN . עכשיו בדוגמא שהבאת צריך להשתמש ב LEFT JOIN ולא ב INNER. הסיבה היא ש INNER JOIN נועד לאחד את התוצאות של טבלה אחת לעצמה זאת אומרת מטבלה לדוגמא TEST לאותה טבלה (TEST) במקרה שלך אתה רוצה לקחת נתונים מטבלה אחת על פי רשומה מסויימת ולהוציא את נתונים נוספים מטבלה אחרת לפי אותה רשומה מהטבלה הראשונה את זה אפשר לעשות עם LEFT או RIGHT JOIN . ההבדל ביניהם הוא ש LEFT JOIN לוקח את הטבלה השנייה בתור הטבלה ה"מתאחדת" ו RIGHT JOIN לוקח את הטבלה השנייה בתור הטבלה "המאחדת" . יותר ברור מזה יהיה קשה להסביר בעברית. חיפוש קצר ברשת לגבי JOIN תתן הרבה תוצאות ומידע. |
הסיבה שמשתמשים בעיקר ב-JOIN היא שזה שיפור של גירסא ב-sql היה את גירסא 1 שבה לא היה קיים ה-JOIN ולכן השתמשו בשיטה הראשונה שהראית אבל שהוסיפו את ה-JOIN עברו כי זה יותר יעיל מבחינת הוצאת הנתונים(זה הוראה בשינויים של הגירסא)
|
אפשר לראות הסבר של JOIN לMYSQL? בPHP
תודה |
כל הזמנים הם GMT +2. הזמן כעת הוא 09:50. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ