SQL INSERT INTO SELECT
SQL INSERT INTO SELECT buyrug‘i
INSERT INTO SELECT buyrug‘i mavjud jadvaldagi ma’lumotlarni nusxalab, boshqa mavjud jadvalga kiritish uchun ishlatiladi.
INSERT INTO SELECT buyrug‘i manba va maqsadli jadvallardagi ma’lumot tiplari mos kelishini talab qiladi.
Eslatma: Maqsadli jadvaldagi mavjud yozuvlarga ta’sir qilinmaydi.
INSERT INTO SELECT sintaksisi
Bir jadvaldagi barcha ustunlarni boshqa jadvalga nusxalash:
INSERT INTO target_table
SELECT * FROM source_table
WHERE condition;
Eslatma: Agar ustun nomlarini ko‘rsatmasangiz, manba va maqsadli jadvallardagi ustunlar soni va tartibi aynan bir xil bo‘lishi kerak!
Bir jadvaldagi faqat ba’zi ustunlarni boshqa jadvalga nusxalash:
INSERT INTO target_table (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM source_table
WHERE condition;
Demo ma’lumotlar bazasi
Quyida tanlanma "Customers" jadvali keltirilgan:
| 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 |
Va tanlanma "Suppliers" jadvali:
| 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 |
SQL INSERT INTO SELECT misollari
Misol
"Suppliers" ni "Customers" ga nusxalash (ma’lumotlar bilan to‘ldirilmagan ustunlarda NULL bo‘ladi):
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers;
Misol
"Suppliers" ni "Customers" ga nusxalang (barcha ustunlarni nusxalash):
INSERT INTO Customers
SELECT * FROM Suppliers;
Misol
Faqat Germaniyadagi yetkazib beruvchilarni "Customers" ga nusxalang:
INSERT INTO Customers (CustomerName,
City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
