سلسلة دروس SQL| عبارة Insert Into Select
هذه المقالة جزء من سلسلة دروس SQL، يمكنك الاطلاع على الفهرس
- عبارة INSERT INTO SELECT في SQL
- بناء جملة INSERT INTO SELECT
- استعراض قاعدة البيانات
- أمثلة عن INSERT INTO SELECT في SQL
عبارة INSERT INTO SELECT في SQL
تقوم عبارة INSERT INTO SELECT بنسخ البيانات من جدول واحد وإدراجها في جدول آخر.
-
يتطلب INSERT INTO SELECT تطابق أنواع البيانات في جداول كل من المصدر والهدف
-
لا تتأثر السجلات الموجودة في جدول الهدف
بناء جملة INSERT INTO SELECT
انسخ جميع الأعمدة من جدول إلى جدول آخر:
1
2
3
4
5
6
7
INSERT INTO table2
SELECT * FROM table1
WHERE condition;
انسخ بعض الأعمدة فقط من جدول واحد إلى جدول آخر:
1
2
3
4
5
6
7
8
9
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
استعراض قاعدة البيانات
فيما يلي مجموعة مختارة من جدول “العملاء”في قاعدة البيانات النموذجية Northwind:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country | |
---|---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany | |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución | 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
واختيار من جدول “الموردين”:
SupplierID | SupplierName | ContactName | Address | City | Postal Code | Country |
---|---|---|---|---|---|---|
1 | Exotic Liquid | Charlotte Cooper | 49 Gilbert St. | Londona | EC1 4SD | UK |
2 | New Orleans Cajun Delights | Shelley Burke | P.O. Box 78934 | New Orleans | 70117 | USA |
3 | Grandma Kelly’s Homestead | Regina Murphy | 707 Oxford Rd. | Ann Arbor | 48104 | USA |
أمثلة عن INSERT INTO SELECT في SQL
تقوم عبارة SQL التالية بنسخ “الموردين” إلى “العملاء” (ستحتوي الأعمدة التي لم يتم تعبئتها بالبيانات على NULL):
1
2
3
4
5
INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers;
تقوم جملة SQL التالية بنسخ “الموردين” إلى “العملاء” (املأ جميع الأعمدة):
1
2
3
4
5
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;
تقوم عبارة SQL التالية بنسخ الموردين الألمان فقط إلى “العملاء”:
1
2
3
4
5
6
7
INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';
التالي: عبارة Case
هذا المنشور تحت ترخيص
CC BY 4.0
بواسطة المؤلف.