الانضمام إلى تحديث SQL يعني أننا سنقوم بتحديث جدول واحد باستخدام جدول آخر وشرط الانضمام.
دعونا نأخذ مثالا على جدول العملاء. لقد قمت بتحديث جدول العملاء الذي يحتوي على أحدث تفاصيل العميل من نظام مصدر آخر. أريد تحديث جدول العملاء بأحدث البيانات. في مثل هذه الحالة، سأقوم بإجراء الربط بين الجدول الهدف والجدول المصدر باستخدام الربط على معرف العميل.
دعونا نرى بناء الجملة لاستعلام 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
كيفية استخدام جداول متعددة في عبارة SQL UPDATE مع 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.
نريد أيضًا تحديث قيم العمود 2 والعمود 3 فقط.
الطريقة الأسهل والأكثر شيوعًا هي استخدام جملة الانضمام في بيان التحديث واستخدام جداول متعددة في بيان التحديث.
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 | اثنين من أربعة |
هنا يمكننا أن نرى أن استخدام جملة الانضمام في بيان التحديث. لقد قمنا بدمج جدولين باستخدام جملة الصلة.