SQL SELECT INTO Statement

در SQL از دستور SELECT INTO برای کپی کردن داده‌ها از یک جدول به جدول جدید استفاده می‌کنیم.
این دستور هم ساختار جدول جدید رو ایجاد می‌کنه و هم داده‌ها رو در اون قرار میده.

🔹 ساختار کلی

SELECT column1, column2, ... INTO new_table FROM existing_table WHERE condition;
  • new_table → جدولی که ساخته میشه.

  • existing_table → جدول اصلی که داده‌ها از اون انتخاب میشن.

  • WHERE → اختیاریه، برای انتخاب رکوردهای خاص.

🔹 مثال ساده

جدول: Customers

customer_idcustomer_namecountry
1AliIran
2SaraUSA
3RezaIran

کوئری:

SELECT customer_id, customer_name INTO Customers_Backup FROM Customers;

📌 توضیح:
یک جدول جدید به نام Customers_Backup ساخته میشه که شامل ستون‌های customer_id و customer_name هست.

🔹 مثال با شرط WHERE

SELECT * INTO Customers_Iran FROM Customers WHERE country = 'Iran';

📌 فقط مشتری‌های ایرانی وارد جدول جدید میشن.

🔹 مثال با Join

SELECT c.customer_id, c.customer_name, o.amount INTO CustomerOrders FROM Customers c INNER JOIN Orders o ON c.customer_id = o.customer_id;

📌 یک جدول جدید به نام CustomerOrders ساخته میشه که شامل اطلاعات مشتری‌ها و سفارش‌هاشون هست.

🔹 نکات مهم

  • SELECT INTO همزمان جدول جدید رو می‌سازه. (نیازی نیست قبلش جدول رو تعریف کنیم.)

  • در SQL Server و بعضی سیستم‌ها پشتیبانی میشه.

  • در MySQL دستور مشابه CREATE TABLE … AS SELECT … هست.

  • اگر WHERE ننویسیم، کل جدول کپی میشه.