Ví dụ: Giả sử kết hợp thông tin của
nhân viên
và
khách hàng, sau đó
muốn sắp xếp
kết
quả theo
tên
và
ID
thứ tự tăng dần
(SELECT customerNumber, contactLastname
FROM customers)
UNION
(SELECT employeeNumber, firstname
FROM employees)
ORDER BY contactLastname, customerNumber
Nếu tên cột không giống nhau trong hai mệnh đề SELECT của phép UNION, tên nào sẽ
được hiển thị ở đầu ra nếu chúng ta không sử dụng bí danh cho mỗi cột trong mệnh đề
SELECT. Câu trả lời là MySQL sẽ sử dụng các tên cột của câu lệnh SELECT đầu tiên là
tên cột trong kết quả đầu ra
(SELECT customerNumber, contactLastname
FROM customers)
UNION
50
(SELECT employeeNumber, firstname
FROM employees)
ORDER BY contactLastname, customerNumber
Kết quả của phép toán hợp giữa hai tập kết quả từ bảng dữ liệu customers và employees
MySQL cũng cung cấp một lựa chọn khác để sắp xếp các kết quả thiết lập dựa trên vị trí
cột trong mệnh đề ORDER BY như truy vấn sau đây:
(SELECT customerNumber, contactLastname
FROM customers)
UNION
(SELECT employeeNumber,firstname
FROM employees)
ORDER BY 2, 1
51
Bài tập thực hành:
1. Dùng toán tử IN để đưa ra thông tin của các khách hàng sống tại các thành phố
Nantes và Lyon.
2. Sử dụng BETWEEN để tìm các đơn hàng đã được chuyển trong khoảng thời gian
từ ‘10/1/2003’ đến ‘10/3/2003’.
3. Sử dụng LIKE để đưa ra thông tin về các nhóm hàng hoá có chứa từ ‘CARS’.
4. Truy vấn 10 sản phẩm có số lượng trong kho là lớn nhất.
5. Đưa ra danh sách các sản phẩm và thêm thuộc tính là tiền hàng tồn của sản phẩm.
52
Chia sẻ với bạn bè của bạn: |