Najbardziej eleganckim sposobem byłoby użycie USING
klauzula w wyraźnym warunku dołączenia:
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;
W ten sposób kolumna houseid jest w wyniku tylko raz , nawet jeśli używasz SELECT * .
Aby uzyskać średnią epatmpg dla wybranych wierszy:
SELECT avg(v.epatmpg) AS avg_epatmpg
FROM vehv2pub v
JOIN dayv2pub d USING (houseid)
WHERE v.vehid >= 1
AND d.trpmiles < 15;
Jeśli istnieje wiele dopasowań w dayv2pub , tabela pochodna może zawierać wiele wystąpień każdego wiersza w vehv2pub po połączeniu. avg() jest oparty na tabeli pochodnej.