SQL עדכון הצטרפות פירושו שנעדכן טבלה אחת באמצעות טבלה אחרת ותנאי הצטרפות.
ניקח דוגמה לשולחן לקוחות. עדכנתי טבלת לקוחות המכילה פרטי לקוחות עדכניים ממערכת מקור אחרת. אני רוצה לעדכן את טבלת הלקוחות עם הנתונים העדכניים ביותר. במקרה כזה, אבצע הצטרפות בין טבלת היעד לטבלת המקור באמצעות join on ID לקוח.
בוא נראה את תחביר של שאילתת SQL UPDATE עם משפט JOIN.
UPDATE customer_table INNER JOIN Customer_table ON customer_table.rel_cust_name = customer_table.cust_id SET customer_table.rel_cust_name = customer_table.cust_name
כיצד להשתמש במספר טבלאות במשפט UPDATE של SQL עם JOIN
ניקח שני טבלאות, טבלה 1 וטבלה 2.
צור טבלה 1
CREATE TABLE table1 (column1 INT, column2 INT, column3 VARCHAR (100)) INSERT INTO table1 (col1, col2, col3) SELECT 1, 11, 'FIRST' UNION ALL SELECT 11,12, 'SECOND' UNION ALL SELECT 21, 13, 'THIRD' UNION ALL SELECT 31, 14, 'FOURTH'
צור טבלה2
CREATE TABLE table2 (column1 INT, column2 INT, column3 VARCHAR (100)) INSERT INTO table2 (col1, col2, col3) SELECT 1, 21, 'TWO-ONE' UNION ALL SELECT 11, 22, 'TWO-TWO' UNION ALL SELECT 21, 23, 'TWO-THREE' UNION ALL SELECT 31, 24, 'TWO-FOUR'
כעת בדוק את התוכן בטבלה.
SELECT * FROM table_1
SELECT * FROM table_2
קול 1 | קול 2 | קול 3 | |
---|---|---|---|
1 | 1 | אחד עשר | ראשון |
2 | אחד עשר | 12 | שְׁנִיָה |
3 | עשרים ואחת | 13 | שְׁלִישִׁי |
4 | 31 | 14 | רביעי |
קול 1 | קול 2 | קול 3 | |
---|---|---|---|
1 | 1 | עשרים ואחת | שתיים אחד |
2 | אחד עשר | 22 | שתיים שתיים |
3 | עשרים ואחת | 23 | שתיים שלוש |
4 | 31 | 24 | שתיים-ארבע |
הדרישה שלנו היא שתהיה לנו טבלה 2 שבה יש שתי שורות שבהן קול 1 הוא 21 ו-31. אנחנו רוצים לעדכן את הערך מטבלה 2 לטבלה 1 עבור השורות שבהן קול 1 הוא 21 ו-31.
אנו רוצים גם לעדכן את הערכים של Col 2 ו-Col 3 בלבד.
הדרך הקלה והנפוצה ביותר היא להשתמש בסעיף join במשפט העדכון ולהשתמש במספר טבלאות במשפט העדכון.
UPDATE table 1 SET Col 2 = t2.Col2, Col 3 = t2.Col3 FROM table1 t1 INNER JOIN table 2 t2 ON t1.Col1 = t2.col1 WHERE t1.Col1 IN (21,31)
בדוק את תוכן הטבלה
בחר מטבלה 1
בחר מטבלה 2
קול 1 | קול 2 | קול 3 | |
---|---|---|---|
1 | 1 | אחד עשר | ראשון |
2 | אחד עשר | 12 | שְׁנִיָה |
3 | עשרים ואחת | 23 | שתיים שלוש |
4 | 31 | 24 | שתיים-ארבע |
קול 1 | קול 2 | קול 3 | |
---|---|---|---|
1 | 1 | עשרים ואחת | ראשון |
2 | אחד עשר | 22 | שְׁנִיָה |
3 | עשרים ואחת | 23 | שתיים שלוש |
4 | 31 | 24 | שתיים-ארבע |
כאן אנו יכולים לראות ששימוש בסעיף הצטרפות בהצהרת עדכון. מיזגנו שתי טבלאות על ידי שימוש בסעיף הצטרפות.