Andmebaasid I (ITI0206) (kevad 2024)

Küsimus

Anonüümne (19.03.2023 12:51)
Kas ühes ja samas SQL päringus võib segamini kasutada vanemat ja uuemat ühendamise süntaksi?

Vastus (19.03.2023 12:58): Jah, see on tehniliselt võimalik. Kuid see ei ole soovitav, sest halvendab koodi loetavust.

Halvem.
SELECT Tudeng.tudkood, Tudeng.perenimi, Oppimine.oppim_algus, Oppimine.oppim_lopp, Aine.aine_kood, Aine.nimetus
FROM Aine, Tudeng INNER JOIN Oppimine ON Tudeng.tudkood = Oppimine.tudeng
WHERE Aine.aine_kood = Oppimine.aine;


Parem.
SELECT Tudeng.tudkood, Tudeng.perenimi, Oppimine.oppim_algus, Oppimine.oppim_lopp, Aine.aine_kood, Aine.nimetus
FROM (Tudeng INNER JOIN Oppimine ON Tudeng.tudkood = Oppimine.tudeng)
INNER JOIN Aine ON Aine.aine_kood = Oppimine.aine;
--läbivalt uuem süntaks

SELECT Tudeng.tudkood, Tudeng.perenimi, Oppimine.oppim_algus, Oppimine.oppim_lopp, Aine.aine_kood, Aine.nimetus
FROM Tudeng, Oppimine, Aine
WHERE Tudeng.tudkood = Oppimine.tudeng
AND Aine.aine_kood = Oppimine.aine;

--läbivalt vanem süntaks

Hinda vastust:

Keskmine hinne: Pole veel hinnanguid!