Cách tốt nhất là sử dụng USING
mệnh đề trong một điều kiện kết hợp rõ ràng:
SELECT houseid, v.vehid, v.epatmpg, d.houseid, d.trpmiles
FROM vehv2pub v
JOIN dayv2pub d USING (houseid)
WHERE v.vehid >= 1
AND d.trpmiles < 15;
Bằng cách này, cột houseid
là kết quả chỉ có một lần , ngay cả khi bạn sử dụng SELECT *
.
Để lấy epatmpg
trung bình cho các hàng đã chọn:
SELECT avg(v.epatmpg) AS avg_epatmpg
FROM vehv2pub v
JOIN dayv2pub d USING (houseid)
WHERE v.vehid >= 1
AND d.trpmiles < 15;
Nếu có nhiều kết quả phù hợp trong dayv2pub
, bảng dẫn xuất có thể chứa nhiều bản sao của mỗi hàng trong vehv2pub
sau khi tham gia. avg()
dựa trên bảng dẫn xuất.