עכשיו כשיש לנו שתי טבלאות, האחת מכילה את נתוני החיות והשניה מכילה אירועים אשר אותן חיות חוו, נרצה לאחד את נתוני החיות הנמצאים בטבלת החיות והאירועים הקשורים להן הנמצאים בטבלת האירועים לטבלה אחת.
לשם כך נשתמש בפקודה SELECT אבל לפני כן, ישנה בעיה קטנה, בשתי הטבלאות נמצא שדה עם אותו השם, NAME .
כיצד MYSQL ידע לאיזה שדה אנו מתייחסים, לזה בטבלת החיות או לזה בטבלת האירועים?
לכך ישנו פתרון מאוד פשוט, לפני שם השדה נכתוב את שם הטבלה ואחריו יבוא שם השדה, כאשר נקודה מפרידה בניהם.
התחביר יראה כך:
שם השדה.שם הטבלה |
לפני שנמשיך בהסבר בוא נראה את השאילתה עצמה:
- הקישור בין הטבלאות מתבצע לאחר WHERE. מתבצעת השוואה בין השדה name אשר נמצא בטבלת החיות לבין השדה name אשר נמצא בטבלת הארועים.
- במידה וישנה התאמה אז ישלפו הנתונים משני הטבלאות אשר הוגדרו לאחר SELECT, במקרה שלנו : pet.name,owner,species,event_date,type .
- אחרי FROM יוגדרו הטבלאות מהן אנו רוצים לשלוף את הנתונים. במקרה שלנו הטבלאות יהיו טבלת החיות וטבלת האירועים