Từ khóa UNION trong MySQL
Bạn có thể sử dụng từ khóa UNION nếu bạn muốn lựa chọn các hàng (hàng này sau hàng kia) từ các bảng hoặc một số tập hợp các hàng từ một bảng đơn dưới dạng một tập kết quả đơn. UNION là có sẵn với MySQL 4.0. Chương này minh họa cách sử dụng nó. Giả sử bạn có 2 bảng: bảng nhanvienIT liệt ...
Bạn có thể sử dụng từ khóa UNION nếu bạn muốn lựa chọn các hàng (hàng này sau hàng kia) từ các bảng hoặc một số tập hợp các hàng từ một bảng đơn dưới dạng một tập kết quả đơn.
UNION là có sẵn với MySQL 4.0. Chương này minh họa cách sử dụng nó.
Giả sử bạn có 2 bảng: bảng nhanvienIT liệt kê các nhân viên IT chuyên sản xuất phần mềm và một bảng nhanvienBH chuyên bán các sản phẩm phần mềm, và một bảng thứ ba liệt kê chi nhánh của công ty bạn, và bạn muốn tạo một danh sách để liệt kê tất cả địa chỉ của nhân viên chẳng hạn. UNION cung cấp một cách để thực hiện điều này. Giả sử 3 bảng có nội dung sau:
//bang nhanvienIT co cac ban ghi sau: mysql> SELECT * FROM nhanvienIT; +--------------+-------+-----------------+ | ho | ten | diachi | +--------------+-------+-----------------+ | Nguyen Van | Hoang | Dong Da | | Hoang Thanh | Tung | Ba Dinh | +--------------+-------+-----------------+ //bang nhanvienBH co cac ban ghi sau: mysql> SELECT * FROM nhanvienBH; +--------+------------+--------------+ | fname | lname | addr | +--------+------------+--------------+ | Huong | Tran Thi | Kim Lien | | Thanh | Nguyen Ba | Cau Giay | | Tung | Do Manh | Hoang Mai | +--------+------------+--------------+ //bang chinhanhlamviec co cac ban ghi sau mysql> SELECT * FROM chinhanhlamviec; +-----------+--------------+ | chinhanh | diachi | +-----------+--------------+ | Kim Lien | 234 Xa Dan | | Cau Giay | 556 Cau Giay | +-----------+--------------+
Việc 3 bảng có tên các cột khác nhau không là vấn đề gì. Truy vấn sau minh họa cách chọn ten và diachi từ 3 bảng cùng môt lúc:
SELECT ho, ten, diachi FROM nhanvienIT UNION SELECT lname, fname, addr FROM nhanvienBH UNION SELECT chinhanh, ', diachi FROM chinhanhlamviec;
Kết quả là:
Nếu bạn muốn lựa chọn tất cả bản ghi, bao gồm các bản sao, bạn sử dụng thêm ALL sau UNION:
SELECT ho, ten, diachi FROM nhanvienIT UNION ALL SELECT lname, fname, addr FROM nhanvienBH UNION SELECT chinhanh, ', diachi FROM chinhanhlamviec;
Follow fanpage của team https://www.facebook.com/vietjackteam/ hoặc facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.
Các bài học MySQL phổ biến khác tại code24h: