Koristi se ista baza i iste tabele (Ucenik i Ocena) kako bi učenici videli razliku u rezultatima između INNER / RIGHT JOIN 


RIGHT JOIN vraća sve redove iz desne tabele (Ovde: Ocena), a iz leve (Ucenik) vraća samo one koji imaju poklapanje.

Kod nas — desna tabela će biti tabela Ocena, pa ćemo dobiti sve ocene, čak i ako neki učenik ne postoji u tabeli Ucenik (hipotetički) koji je dobio neku ocenu .


Zadatak 1

Prikazati sve ocene i podatke o učenicima, uključujući i ocene koje niko nije dobio (koje eventualno nemaju učenika u tabeli Ucenik).

Rešenje:

SELECT U.Ime, Uk.Prezime, O.Predmet, O.Vrednost 
FROM Ucenik U RIGHT JOIN Ocena O 
 ON U.UcenikID = O.UcenikID;

Zadatak 2

Prikazati sve ocene iz predmeta Matematika, zajedno sa podacima o učeniku.
Ako postoji ocena iz Matematike koju niko nije dobio – prikazati je. (ocena bez učenika)

SELECT U.Ime, U.Prezime, O.Predmet, O.Vrednost 
FROM Ucenik U RIGHT JOIN Ocena O
   ON U.UcenikID = O.UcenikID
WHERE O.Predmet = 'Matematika';

Zadatak 3 (malo teži)

Pronaći ocene koje niko nije dobio (ocene koje nemaju odgovarajućeg učenika (u realnom svetu to su greške u podacima).

SELECT Ocena.*
FROM Ucenik RIGHT JOIN Ocena 
  ON Ucenik.UcenikID = Ocena.UcenikID
WHERE Ucenik.UcenikID IS NULL;

Zadaci za vežbu


Zadatak 1 - Prikazati sve ocene zajedno sa razredom učenika. Ako učenik ne postoji u tabeli Ucenik, prikazati NULL u koloni Razred.


Zadatak 2 - prikazati sve ocene iz februara 2024, sa informacijama o učenicima (ako postoje).


Zadatak 3 - prikazati sve predmete i imena učenika za ocene koje imaju vrednost 5.


Zadatak 4 - prikazati sve ocene i dodati kolonu “RazredniStaresina”:  "III razred" ako je učenik u 3. razredu,  "II razred" ako je učenik u 2. razredu,  "Nepoznat" ako učenik ne postoji


Zadatak 5 - Pronaći sve ocene iz predmeta „Biologija“ i dodaj prezime učenika (ako postoji).


Zadatak 6 - prikazati sve ocene i dodaj kolonu sa dužinom prezimena učenika. Ako učenik ne postoji → prikazati 0.


Zadatak 7 - prikazati sve ocene i dodaj kolonu “Tip”: "Validna ocena" → učenik postoji, "Nevalidna ocena" → učenik ne postoji


Zadatak 8 - Pronaći ocene iz Matematike koje su manje od 4 i prikazati ime učenika (ako postoji).


Zadatak 9  Prikazati sve ocene i izračunati godinu iz datuma ocene pomoću YEAR(Datum).


Zadatak 10  - Prikazati sve ocene i sortirati rezultate po: razredu učenika (NULL vrednosti da budu poslednje),  pa po vrednosti ocene - opadajuće.


Last modified: Wednesday, 10 December 2025, 4:26 PM