מיזוג שתי טבלאות ב-SQL

Myzwg Sty Tbl Wt B Sql



ב-SQL, מיזוג טבלאות מתייחס לתהליך של שילוב הנתונים משתי טבלאות נפרדות במסד נתונים נתון ליחידה אחת המבוססת על עמודה או קריטריונים משותפים. כן, אם זה נשמע כמו שולחן, זה בדיוק מה שזה.

הצטרפות טבלה או מיזוג טבלה היא תכונה ידועה של מסדי נתונים יחסיים, והיא חזקה להפליא. זה מאפשר לנו לאחד את המידע ממקורות מרובים כדי ליצור תובנות נתונים קוהרנטיות ומשמעותיות יותר. זה גם מאפשר לבסיסי הנתונים היחסיים להיות ניתנים להרחבה (לא גמישים) מכיוון שאנו יכולים לפרק את הנתונים לנתחים קטנים יותר וניתנים לניהול אליהם נוכל להתייחס מאוחר יותר.

במדריך זה, נסקור את היסודות של צירוף טבלאות או מיזוג טבלאות. בואו נסתכל על דוגמאות הטבלה בעולם האמיתי כדי לבסס את הידע שלנו.







טבלה לדוגמה

לפני שניכנס לעולם הצטרפות לשולחן, הבה נרכיב את הטבלאות הבסיסיות בהן נשתמש למטרות הדגמה.



שקול שתי טבלאות המכילות את העובדים ומידע על השכר כפי שמוצג בשאילתות לדוגמה הבאות:



CREATE TABLE עובדים (

עובד_מזהה INT AUTO_INCREMENT PRIMARY KEY,

first_name VARCHAR( חמישים ),

last_name VARCHAR( חמישים ),

מחלקה VARCHAR( חמישים )

);

לאחר מכן נוכל להכניס את הנתונים לדוגמה לטבלה של העובד כפי שמוצג בשאילתות הבאות:





INSERT INTO עובדים (שם_שם, שם_משפחה, מחלקה) VALUES

( 'אליס' , 'נַפָּח' , 'משאבי אנוש' ),

( 'בוב' , 'ג'ונסון' , 'שיווק' ),

( 'צ'רלי' , 'ווילסון' , 'לְמַמֵן' ),

( 'דוד' , 'חום' , 'מכירות' ),

( 'אווה' , 'דייוויס' , 'הַנדָסָה' );

הבה נמשיך וניצור טבלה חדשה לאחסון פרטי השכר באופן הבא:

משכורות צור טבלה (

משכורת_מזהה INT AUTO_INCREMENT PRIMARY KEY,

עובד_מזהה INT,

משכורת DECIMAL( 10 , 2 ),

start_date DATE,

end_date DATE,

FOREIGN KEY (employee_id) הפניות עובדים(employee_id)

);

הוסף את הנתונים לדוגמה של הכנס לטבלה באופן הבא:



INSERT INTO משכורות (מזהה_עובד, משכורת, תאריך_התחלה, תאריך_סיום) VALUES
( 1 , 60000.00 , '2023-01-01' , '2023-12-31' ),
( 2 , 55000.00 , '2023-01-01' , '2023-12-31' ),
( 3 , 65000.00 , '2023-01-01' , '2023-12-31' ),
( 4 , 58000.00 , '2023-01-01' , '2023-12-31' ),
( 5 , 70000.00 , '2023-01-01' , '2023-12-31' );

זה אמור לספק לנו שתי טבלאות שיכולות לעזור לנו להדגים את הרעיון של הצטרפו/מיזוג טבלאות ב-SQL.

מיזוג/הצטרפות טבלה של SQL

תן לנו לחקור את הסוגים השונים של מיזוג טבלאות שאנחנו יכולים לעשות. אנו נסקור את הבסיסיים ככל שנתקדם למתקדמים יותר.

הצטרפות פנימית

הסוג הראשון והנפוץ ביותר של צירוף טבלאות ב-SQL הוא INNER JOIN. INNER JOIN מאפשר לנו לשלב את השורות משתי טבלאות על סמך תנאי ספציפי. סוג זה מחזיר רק את השורות שבהן יש התאמה בין הטבלאות.

ניקח כדוגמאות את טבלאות ה'עובדים' ו'המשכורות' שיצרנו קודם לכן. כדי לבצע INNER JOIN ב-SQL, אנו משתמשים בסעיף INNER JOIN באופן הבא:

בחר

e.employee_id,

e.first_name,

e.last_name,

e.department,

s.משכורת

מ

עובדים ה

משכורות INNER JOIN ס עַל

e.employee_id = s.employee_id;

בשאילתת הדוגמה הנתונה, אנו משתמשים ב-INNER JOIN כדי למזג את טבלאות 'עובדים' ו'שכר' בעמודה 'מזהה עובד' הקיימת בשתי הטבלאות. הסט המתקבל מכיל רק את השורות התואמות משתי הטבלאות.

פלט לדוגמה הוא כדלקמן:

הצטרפו שמאל חיצוני

יש לנו גם LEFT OUTER JOIN המשלב את כל השורות מהטבלה השמאלית ואת השורות התואמות מהטבלה הימנית. אם אין התאמה בטבלה הימנית, ה-join משתמש בערך NULL.

בחר

e.employee_id,

e.first_name,

e.last_name,

e.department,

s.משכורת

מ

עובדים ה

LEFT JOIN משכורות ס

עַל

e.employee_id = s.employee_id;

בדוגמה זו, אנו מבצעים LEFT OUTER JOIN כדי למזג את טבלאות 'עובדים' ו'משכורות'. כל השורות מטבלת 'עובדים' כלולות ומתווספות השורות התואמות מטבלת 'משכורות'. עם זאת, ערכי NULL כלולים בעמודה 'שכר' עבור שורות שאינן תואמות.

SQL UNION

שיטה נוספת להצטרפות לטבלאות ב-SQL היא שימוש באופרטור UNION. אופרטור זה מאפשר לנו לשלב את התוצאות של שתי הצהרות נבחרות או יותר לקבוצת תוצאות אחת.

העמודות בכל משפט SELECT חייבות להיות עם אותו סוג נתונים כדי שהאיחוד יהיה ישים.

דוגמה היא כדלקמן:

בחר עובד_מזהה , שם_שם , שם_משפחה , מחלקה , משכורת NULL AS

מעובדים ה

הִתאַחֲדוּת

SELECT עובד_מזהה , NULL AS first_name , NULL AS last_name , NULL AS department , שכר

משכורות ס;

במקרה זה, UNION ממזג את טבלאות 'עובדים' ו'שכר'. לאחר מכן אנו יוצרים את עמודות NULL בכל משפט SELECT כדי להבטיח שלשתי הטבלאות יש מספר דומה של עמודות.

UNIONS נפוצים מבחינה טכנית אך הם יכולים להיות שימושיים במיוחד כאשר אתה צריך למזג את הטבלאות עם מבנים שונים.

סיכום

במדריך זה, חקרנו את היסודות של הצטרפות/מיזוג של שתי טבלאות לקבוצת תוצאות אחת. כדאי לזכור שיש הרבה יותר הצטרפות מתקדמות שנדון בפוסט הזה.