Giới thiệu về SQL Insert Into Select
SQL (Structured Query Language) là ngôn ngữ tiêu chuẩn được sử dụng để quản lý và thao tác với cơ sở dữ liệu quan hệ. Một trong những câu lệnh quan trọng trong SQL là câu lệnh INSERT INTO, được sử dụng để chèn dữ liệu vào bảng. Trong trường hợp bạn muốn chèn dữ liệu từ một bảng khác vào một bảng hiện có, bạn sẽ sử dụng cú pháp INSERT INTO SELECT.
Định nghĩa
Câu lệnh INSERT INTO SELECT cho phép bạn chèn các bản ghi từ một bảng vào một bảng khác. Điều này rất hữu ích khi bạn cần sao chép dữ liệu giữa các bảng, hoặc khi bạn muốn tạo một bảng mới từ dữ liệu có sẵn.
Cú pháp
INSERT INTO table_name (column1, column2, column3, ...) SELECT expression1, expression2, expression3, ... FROM source_table WHERE condition;
Trong đó:
- table_name: tên của bảng đích mà bạn muốn chèn dữ liệu vào.
- column1, column2, ...: tên các cột trong bảng đích mà bạn muốn chèn dữ liệu.
- expression1, expression2, ...: các giá trị hoặc cột dữ liệu từ bảng nguồn mà bạn muốn chèn vào.
- source_table: tên của bảng nguồn từ đó bạn sẽ lấy dữ liệu.
- condition: điều kiện lọc các bản ghi từ bảng nguồn (có thể không cần thiết).
Ví dụ
Ví dụ 1: Chèn dữ liệu từ một bảng vào một bảng khác
INSERT INTO employees_new (employee_id, employee_name, department) SELECT employee_id, employee_name, department FROM employees_old WHERE department = 'Sales';
Trong ví dụ này, chúng ta chèn tất cả các nhân viên thuộc bộ phận 'Sales' từ bảng employees_old vào bảng employees_new.
Ví dụ 2: Chèn dữ liệu mà không cần điều kiện
INSERT INTO products_archive (product_id, product_name, price) SELECT product_id, product_name, price FROM products;
Ví dụ này sao chép tất cả các sản phẩm từ bảng products vào bảng products_archive mà không cần điều kiện lọc nào.
Ví dụ 3: Chèn dữ liệu với phép toán
INSERT INTO sales_summary (product_id, total_sales) SELECT product_id, SUM(sales_amount) FROM sales GROUP BY product_id;
Ở ví dụ này, chúng ta tổng hợp doanh số bán hàng cho mỗi sản phẩm và chèn kết quả vào bảng sales_summary.
Kết luận
Câu lệnh INSERT INTO SELECT là một công cụ mạnh mẽ trong SQL giúp bạn dễ dàng chuyển đổi và sao chép dữ liệu giữa các bảng. Với cú pháp đơn giản và khả năng linh hoạt, bạn có thể thực hiện nhiều tác vụ khác nhau liên quan đến dữ liệu trong cơ sở dữ liệu của mình. Hãy thử nghiệm và áp dụng chúng vào các dự án thực tế để làm quen với cách hoạt động của nó!