Bạn có thể sử dụng câu lệnh
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
5 để truy xuất dữ liệu từ bảng này, sau đó sử dụng một câu lệnh INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
6 để thêm tập hợp dữ liệu đó vào một bảng khác và hai câu lệnh sẽ được lồng trong một truy vấn duy nhất1. Chèn toàn bộ dữ liệu của một cột
Cú pháp chung sẽ là
INSERT INTO table_a [col1a]
SELECT col1b
FROM table_b;
Câu lệnh đó sẽ chọn tất cả dữ liệu từ
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
7 trong INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
0 và chèn vào INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
1 trong INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
2Bạn có thể chèn nhiều cột từ nhiều cột
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
2. Chèn một số hàng từ một bảng khác
Bạn có thể thêm một số điều kiện trước khi chèn để giới hạn kết quả
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b
WHERE table_b.col1 = x;
Ví dụ. CHÈN dữ liệu của các đơn đặt hàng lớn từ bảng tổng số đơn đặt hàng, trong đó tổng số tiền lớn hơn $10.000
INSERT INTO sales.big_orders [id, full_name, address, total]
SELECT
id,
full_name,
address,
total
FROM
sales.total_orders
WHERE
total > 10000;
3. Chèn các hàng trên cùng
Bạn có thể chọn n hàng trên cùng từ table_b để chèn vào table_a bằng truy vấn này
INSERT TOP[n]
INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b
WHERE table_b.col1 = x
ORDER BY col1b;
Với ví dụ trên, chúng tôi chỉ muốn chèn 20 đơn đặt hàng lớn nhất
________số 8
4. Chèn cả từ cột và giá trị đã xác định
Trường hợp bạn chèn dữ liệu vào nhiều cột nhưng chỉ có một số cột cần nhập từ bảng_b, một số cột cần nhập từ tập dữ liệu khác
INSERT INTO table_a [col1a, col2a, col3a, col4a …]
SELECT table_b.col1b, 'other value', table_b.col3b, 'another_value',…
FROM table_b
WHERE table_b.col1 = x;
Cần một Máy khách GUI tốt để làm việc với MS SQL Server?
Có, chúng ta có thể thêm một cột vào bảng từ một bảng khác. Trước tiên chúng ta hãy tạo hai bảng. Truy vấn để tạo một bảng như sau -
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
0Bây giờ tạo bảng thứ hai. Truy vấn để tạo bảng thứ hai như sau -
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
1Bây giờ, thêm cột Tuổi vào bảng đầu tiên. Đầu tiên, thêm cột Age, sau đó dùng lệnh UPDATE để set cột Age này thành cột UserAge của SecondTable. Truy vấn như sau -
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
2Bây giờ, đây là truy vấn để cập nhật bảng đầu tiên để đặt cột Tuổi thành cột Tuổi người dùng của Bảng thứ hai. Truy vấn như sau -
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
3Bây giờ hãy kiểm tra mô tả của bảng đầu tiên với sự trợ giúp của lệnh DESC. Truy vấn như sau -
Tóm lược. trong hướng dẫn này, bạn sẽ học cách sử dụng câu lệnh
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
8 của SQL Server để thêm một hoặc nhiều cột vào bảngCâu lệnh
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
8 sau nối thêm một cột mới vào bảngINSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
4trong tuyên bố này
- Đầu tiên, chỉ định tên của bảng mà bạn muốn thêm cột mới vào
- Thứ hai, chỉ định tên của cột, kiểu dữ liệu của cột và ràng buộc nếu có
Nếu bạn muốn thêm nhiều cột vào một bảng cùng một lúc bằng một câu lệnh
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
0, bạn sử dụng cú pháp sauINSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
5Trong cú pháp này, bạn chỉ định một danh sách các cột được phân tách bằng dấu phẩy mà bạn muốn thêm vào bảng sau mệnh đề
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
1Lưu ý rằng SQL Server không hỗ trợ cú pháp thêm cột vào bảng sau cột hiện có như MySQL
SQL Server INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
8 cột ví dụ
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
Câu lệnh sau tạo một bảng mới có tên là
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
50INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
7Để thêm một cột mới có tên là
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
51 vào bảng INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
50, bạn sử dụng câu lệnh sauINSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
0Câu lệnh sau thêm hai cột mới có tên là
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
53 và INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
54 vào bảng INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
50INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
4Trong hướng dẫn này, bạn đã học cách sử dụng câu lệnh
INSERT INTO table_a [col1a, col2a, col3a, …]
SELECT col1b, col2b, col3b, …
FROM table_b;
8 của SQL Server để thêm một hoặc nhiều cột vào bảng