SQL INSERT INTO SELECT Statement
در SQL از دستور INSERT INTO … SELECT برای کپی کردن دادهها از یک جدول به جدول دیگر که از قبل ساخته شده استفاده میکنیم.
برخلاف SELECT INTO
، اینجا جدول مقصد از قبل وجود داره و دادهها بهش اضافه میشن.
🔹 ساختار کلی
-
target_table
→ جدول مقصد که دادهها در آن قرار میگیرن. -
source_table
→ جدول اصلی که دادهها از آن انتخاب میشن. -
WHERE
→ اختیاریه، برای محدود کردن رکوردها.
🔹 مثال ساده
جدول موجود: Customers_Backup
customer_id | customer_name |
---|---|
1 | Ali |
2 | Sara |
جدول: Customers_New
customer_id | customer_name |
---|---|
(خالی) |
کوئری:
📌 توضیح: دادههای جدول Customers_Backup
به جدول Customers_New
اضافه میشن.
🔹 مثال با شرط WHERE
📌 فقط مشتریهایی که کشورشون 'Iran'
هست به جدول مقصد اضافه میشن.
🔹 مثال با Join
📌 اطلاعات مشتریها و سفارشهاشون از دو جدول مختلف گرفته میشه و به جدول CustomerOrders
اضافه میشه.
🔹 نکات مهم
-
جدول مقصد باید از قبل وجود داشته باشه.
-
تعداد و نوع ستونها در SELECT باید با ستونهای جدول مقصد سازگار باشه.
-
میتونیم از شرط
WHERE
برای انتخاب رکوردهای خاص استفاده کنیم. -
در مقایسه با
SELECT INTO
،INSERT INTO … SELECT
برای افزودن دادهها به جدول موجود کاربرد داره، نه ایجاد جدول جدید.