Cara yang paling elegan adalah dengan menggunakan USING
klausa dalam kondisi gabungan eksplisit:
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;
Dengan cara ini, kolom houseid
hasilnya hanya sekali , bahkan jika Anda menggunakan SELECT *
.
Untuk mendapatkan rata-rata epatmpg
untuk baris yang dipilih:
SELECT avg(v.epatmpg) AS avg_epatmpg
FROM vehv2pub v
JOIN dayv2pub d USING (houseid)
WHERE v.vehid >= 1
AND d.trpmiles < 15;
Jika ada beberapa kecocokan di dayv2pub
, tabel turunan dapat menampung beberapa instance dari setiap baris di vehv2pub
setelah bergabung. avg()
didasarkan pada tabel turunan.