SQL INSERT INTO SELECT Statement

ஒரு அட்டவணையிலிருந்து தரவை நகலெடுத்து மற்றொரு அட்டவணையில் செருக INSERT INTO SELECT அறிக்கையைப் பற்றி அறிக

SQL INSERT INTO SELECT அறிக்கை

INSERT INTO SELECT அறிக்கை ஒரு அட்டவணையிலிருந்து தரவை நகலெடுத்து மற்றொரு அட்டவணையில் செருகுகிறது.

INSERT INTO SELECT அறிக்கைக்கு மூல மற்றும் இலக்கு அட்டவணைகளில் உள்ள தரவு வகைகள் பொருந்த வேண்டும்.

⚠️ குறிப்பு:

இலக்கு அட்டவணையில் உள்ள இருக்கும் பதிவுகள் பாதிக்கப்படாது.

INSERT INTO SELECT தொடரியல்

ஒரு அட்டவணையிலிருந்து அனைத்து நெடுவரிசைகளையும் மற்றொரு அட்டவணையில் நகலெடுக்க:

அனைத்து நெடுவரிசைகளும்

INSERT INTO table2
SELECT * FROM table1
WHERE condition;

சில நெடுவரிசைகள் மட்டும்

INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;

ஆர்ப்பாட்ட தரவுத்தளம்

இந்த பயிற்சியில் நன்கு அறியப்பட்ட Northwind மாதிரி தரவுத்தளத்தைப் பயன்படுத்துவோம்.

"Customers" அட்டவணையிலிருந்து ஒரு தேர்வு

CustomerID CustomerName ContactName City Country
1 Alfreds Futterkiste Maria Anders Berlin Germany
2 Ana Trujillo Emparedados Ana Trujillo México D.F. Mexico
3 Antonio Moreno Taquería Antonio Moreno México D.F. Mexico

"Suppliers" அட்டவணையிலிருந்து ஒரு தேர்வு

SupplierID SupplierName ContactName City Country
1 Exotic Liquid Charlotte Cooper London UK
2 New Orleans Cajun Delights Shelley Burke New Orleans USA
3 Grandma Kelly's Homestead Regina Murphy Ann Arbor USA

SQL INSERT INTO SELECT எடுத்துக்காட்டுகள்

"Suppliers" அட்டவணையை "Customers" அட்டவணையில் நகலெடுக்க (தரவால் நிரப்பப்படாத நெடுவரிசைகள் NULL ஐக் கொண்டிருக்கும்):

எடுத்துக்காட்டு 1

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers;

"Suppliers" அட்டவணையை "Customers" அட்டவணையில் நகலெடுக்க (அனைத்து நெடுவரிசைகளையும் நிரப்ப):

எடுத்துக்காட்டு 2

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;

ஜெர்மன் சப்ளையர்களை மட்டும் "Customers" அட்டவணையில் நகலெடுக்க:

எடுத்துக்காட்டு 3

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country='Germany';

💡 முக்கியமான குறிப்பு:

INSERT INTO SELECT ஐப் பயன்படுத்தும் போது, மூல மற்றும் இலக்கு அட்டவணைகளின் நெடுவரிசை தரவு வகைகள் பொருந்துவதை உறுதிப்படுத்திக் கொள்ளுங்கள். இல்லையெனில் பிழைகள் ஏற்படலாம்.

நடைமுறை எடுத்துக்காட்டுகள்

காப்புப்பிரதி உருவாக்கம்

குறிப்பிட்ட தரவுகளின் காப்புப்பிரதி

INSERT INTO CustomerBackup
SELECT * FROM Customers
WHERE Country = 'USA';

தரவு மாற்றம்

வெவ்வேறு அட்டவணைகளுக்கு இடையே தரவை மாற்றுதல்

INSERT INTO ArchivedOrders
SELECT OrderID, CustomerID, OrderDate 
FROM Orders 
WHERE OrderDate < '2023-01-01';

வடிகட்டப்பட்ட தரவு

குறிப்பிட்ட நிபந்தனைகளின் அடிப்படையில் தரவு

INSERT INTO PremiumCustomers
SELECT CustomerName, Email, TotalPurchases
FROM Customers
WHERE TotalPurchases > 1000;

பயிற்சி

SQL INSERT INTO SELECT அறிக்கையின் நோக்கம் என்ன?

ஒரு அட்டவணையிலிருந்து தரவை நகலெடுத்து மற்றொரு அட்டவணையில் செருக
✓ சரி! INSERT INTO SELECT ஒரு அட்டவணையிலிருந்து தரவை நகலெடுத்து மற்றொரு அட்டவணையில் செருக பயன்படுகிறது
ஒரு அட்டவணையிலிருந்து வரிசைகளை நீக்கி மற்றொரு அட்டவணையில் செருக
✗ தவறு! INSERT INTO SELECT தரவை நீக்காது, நகலெடுக்கும் மட்டுமே
துணை வினவலில் எந்தப் பதிவு உள்ளதா என சோதிக்க
✗ தவறு! இது EXISTS செயலிக்கானது
இரண்டு அல்லது அதற்கு மேற்பட்ட அட்டவணைகளிலிருந்து வரிசைகளை இணைக்க
✗ தவறு! இது JOIN-க்கானது