最もエレガントな方法は、を使用することです。 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
結果には1回しかありません 、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()
派生テーブルに基づいています。