logo

עדכון SQL עם JOIN

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
11אחד עשרראשון
2אחד עשר12שְׁנִיָה
3עשרים ואחת 13 שְׁלִישִׁי
431 14 רביעי

קול 1קול 2קול 3
11עשרים ואחתשתיים אחד
2אחד עשר22שתיים שתיים
3עשרים ואחת 23 שתיים שלוש
431 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
11אחד עשרראשון
2אחד עשר12שְׁנִיָה
3עשרים ואחת 23 שתיים שלוש
431 24 שתיים-ארבע

קול 1קול 2קול 3
11עשרים ואחתראשון
2אחד עשר22שְׁנִיָה
3עשרים ואחת 23 שתיים שלוש
431 24 שתיים-ארבע

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