Den mest elegante måde ville være at bruge USING
klausul i en eksplicit forbindelsesbetingelse:
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;
På denne måde er kolonnen houseid er kun i resultatet én gang , selvom du bruger SELECT * .
For at få den gennemsnitlige epatmpg for de valgte rækker:
SELECT avg(v.epatmpg) AS avg_epatmpg
FROM vehv2pub v
JOIN dayv2pub d USING (houseid)
WHERE v.vehid >= 1
AND d.trpmiles < 15;
Hvis der er flere matches i dayv2pub , kan den afledte tabel indeholde flere forekomster af hver række i vehv2pub efter sammenføjningen. avg() er baseret på den afledte tabel.