3.2 SQL - INSERT INTO SELECT
جملة SQL INSERT INTO SELECT
تُستخدم INSERT INTO SELECT لنسخ البيانات من جدول موجود وإضافتها إلى جدول آخر موجود مسبقًا.
✅ ملاحظة مهمة: يجب أن تكون أنواع البيانات متوافقة بين الجدولين. ⚠️ الصفوف الموجودة مسبقًا في الجدول الهدف لن تتأثر بهذه العملية.
🔹 الصيغة العامة:
✅ نسخ كل الأعمدة:
INSERT INTO table2
SELECT * FROM table1
WHERE condition;
✅ نسخ أعمدة محددة فقط:
INSERT INTO table2 (column1, column2)
SELECT column1, column2
FROM table1
WHERE condition;
🧪 أمثلة عملية من قاعدة Northwind:
1. نسخ بيانات من Suppliers إلى Customers (أعمدة محددة):
INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country
FROM Suppliers;
2. نسخ بيانات كاملة مع تطابق الأعمدة:
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
SELECT SupplierName, ContactName, Address, City, PostalCode, Country
FROM Suppliers;
3. نسخ الموردين الألمان فقط:
INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country
FROM Suppliers
WHERE Country = 'Germany';
💡 ملاحظات:
- يجب أن يكون ترتيب ونوع الأعمدة في جملة
INSERT INTOمتطابق معSELECT. - ممكن تستخدم
JOINداخلSELECTلجلب بيانات من عدة جداول. - لو الجدولين في قاعدتين مختلفتين على نفس السيرفر، ممكن تكتبهم بصيغة:
DatabaseName.SchemaName.TableName
تعليقات
إرسال تعليق