Câu lệnh đầu tiên trong UNION trả về bốn cột:
SELECT b.id AS id,
b.pid AS pid,
b.message AS message,
b.date AS date
FROM wall_posts AS b
Kết quả thứ hai trả về sáu , vì dấu * mở rộng để bao gồm tất cả các cột từ WALL_POSTS
:
SELECT b.id,
b.date,
b.privacy,
b.pid.
b.uid message
FROM wall_posts AS b
UNION
và UNION ALL
toán tử yêu cầu rằng:
- Số cột giống nhau tồn tại trong tất cả các câu lệnh tạo nên truy vấn UNION'd
- Các loại dữ liệu phải khớp ở mỗi vị trí / cột
Sử dụng:
FROM ((SELECT b.id AS id,
b.pid AS pid,
b.message AS message,
b.date AS date
FROM wall_posts AS b
JOIN Friends AS f ON f.id = b.pid
WHERE f.buddy_id = '1' AND f.status = 'b'
ORDER BY date DESC
LIMIT 0, 10)
UNION
(SELECT id,
pid,
message,
date
FROM wall_posts
WHERE pid = '1'
ORDER BY date DESC
LIMIT 0, 10))