Hirdetés

Keresés

Új hozzászólás Aktív témák

  • nyunyu

    félisten

    válasz Micsurin #4789 üzenetére

    Alapvetően jó a próbálkozásod, de az első JOIN feltétel után már ne használd a vesszőt a következő JOINolandó táblához/queryhez, hanem ott is írd ki megfelelő JOIN formulát.
    (ne keverjük a régi és a szabványos JOIN szintaxist!!!)

    Picit olvashatóbbra rendezve:
    SELECT er.last_name, er.salary, d.department_name, át.átg
    FROM employees er
    INNER JOIN departments d
    ON er.department_id = d.department_id
    INNER JOIN (SELECT department_id, ROUND(AVG(salary),2) AS átg
    FROM employees
    GROUP BY department_id) át
    ON er.department_id = át.department_id
    WHERE er.salary > át.átg;

    Példa megoldás gyakorlatilag ugyanez, csak nem használ benne aliasokat (amik a kód átláthatóságát, követhetőségét, érthetőségét növelik)
    Ja, meg natural joint használ, csak azért hogy ne kelljen kiírnia az azonos oszlopok menti join feltételeket. :DDD

Új hozzászólás Aktív témák