Най-елегантният начин би бил да използвате USING
клауза в изрично условие за присъединяване:
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;
По този начин колоната houseid е в резултата само веднъж , дори ако използвате SELECT * .
За да получите средния epatmpg за избраните редове:
SELECT avg(v.epatmpg) AS avg_epatmpg
FROM vehv2pub v
JOIN dayv2pub d USING (houseid)
WHERE v.vehid >= 1
AND d.trpmiles < 15;
Ако има множество съвпадения в dayv2pub , получената таблица може да съдържа множество екземпляри на всеки ред в vehv2pub след присъединяването. avg() се базира на получената таблица.