Bắt đầu ngayBắt đầu miễn phí

Chẩn đoán vấn đề bằng anti join

Làm tốt với semi join! Anti join là một công cụ join liên quan và rất mạnh. Nó đặc biệt hữu ích để xác định liệu có số lượng bản ghi không chính xác xuất hiện trong một phép join hay không.

Giả sử bạn muốn xác định đơn vị tiền tệ của các quốc gia thuộc châu Đại Dương (Oceania). Bạn đã viết INNER JOIN sau, trả về 15 bản ghi. Giờ bạn muốn đảm bảo rằng tất cả quốc gia châu Đại Dương từ bảng countries đều có trong kết quả này. Bạn sẽ làm điều đó ở bước đầu tiên.

SELECT c1.code, name, basic_unit AS currency
FROM countries AS c1
INNER JOIN currencies AS c2
ON c1.code = c2.code
WHERE c1.continent = 'Oceania';

Nếu có bất kỳ quốc gia châu Đại Dương nào bị loại khỏi INNER JOIN này, bạn muốn trả về tên của các quốc gia đó. Bạn sẽ viết một anti join để làm điều này ở bước thứ hai!

Bài tập này là một phần của khóa học

Kết hợp dữ liệu trong SQL

Xem khóa học

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

-- Select code and name of countries from Oceania
Chỉnh sửa và Chạy Mã