2010-07-26 39 views
6

Tôi có hai bảng, nói table1 với hai dòng dữ liệu nói row11 và row12 và table2 với 3 dòng dữ liệu ngồi row21, row22, row23SQL Nối bảng truy vấn

bất cứ ai có thể cung cấp cho tôi với SQL để tạo truy vấn trả về

row11 
row12 
row21 
row22 
row23 

Lưu ý: Tôi không muốn tạo bảng mới chỉ trả lại dữ liệu.

+0

Các hàng của bạn có giống nhau về cấu trúc không? (ví dụ: cùng một số cột, cùng loại và thứ tự?) –

Trả lời

7
select * from table1 union select * from table2 
+0

Cảm ơn - được đánh giá cao – Dave

1

Tại sao không sử dụng UNION?

CHỌN col1, col2, Col3 TỪ table1

UNION

CHỌN col1, col2, Col3 TỪ table2

Are các cột trên hai bảng giống hệt nhau?

13

Sử dụng UNION ALL, dựa trên dữ liệu ví dụ:

SELECT * FROM TABLE1 
UNION ALL 
SELECT * FROM TABLE2 

UNION loại bỏ bản sao - nếu cả hai bảng mỗi người đều có một hàng có giá trị là "rowx, 1", truy vấn sẽ trả lại một hàng, không phải là hai. Điều này cũng làm cho UNION chậm hơn UNION ALL, bởi vì UNION ALL không xóa các mục trùng lặp. Biết dữ liệu của bạn và sử dụng một cách thích hợp.