16.01. Ponavljanje gradiva
Completion requirements
1. Kreiranje tabela
Koristićemo dve tabele:
-
Ucenik
-
Ocena
SQL: Kreiranje tabele Ucenik
CREATE TABLE Ucenik (
UcenikID INT PRIMARY KEY,
Ime NVARCHAR(30),
Prezime NVARCHAR(30),
Razred INT
);
SQL: Kreiranje tabele Ocena
CREATE TABLE Ocena (
OcenaID INT PRIMARY KEY,
UcenikID INT,
Predmet NVARCHAR(30),
Vrednost INT,
Datum DATE,
FOREIGN KEY (UcenikID) REFERENCES Ucenik(UcenikID)
);
2. Popunjavanje tabela
Unos podataka u Ucenik
INSERT INTO Ucenik (UcenikID, Ime, Prezime, Razred) VALUES
(1, 'Ana', 'Petrović', 3),
(2, 'Marko', 'Jovanović', 3),
(3, 'Ivana', 'Ilić', 2),
(4, 'Nikola', 'Simić', 1),
(5, 'Sara', 'Milićević', 4);
Unos podataka u Ocena
INSERT INTO Ocena (OcenaID, UcenikID, Predmet, Vrednost, Datum) VALUES
(1, 1, 'Matematika', 5, '2024-02-10'),
(2, 1, 'Srpski', 4, '2024-02-12'),
(3, 2, 'Matematika', 3, '2024-02-11'),
(4, 2, 'Informatika', 5, '2024-02-15'),
(5, 3, 'Engleski', 4, '2024-02-09'),
(6, 3, 'Matematika', 2, '2024-02-10'),
(7, 5, 'Biologija', 5, '2024-02-14'),
(8, 5, 'Matematika', 4, '2024-02-15'),
(9,NULL, 'Srpski', 1, '2026-01-16');
upiti za ponavljanje gradiva: Ispisati
-
ime učenika, predmet i ocenu koju je dobio (inner j.)
SELECT Ime, Predmet, Vrednost FROM Ucenik INNER JOIN Ocena ON Ucenik.UcenikID = Ocena.UcenikID;
-
SELECT Ime, Predmet, Vrednost FROM Ucenik LEFT JOIN Ocena ON Ucenik.UcenikID = Ocena.UcenikID;
-
SELECT Ime, Predmet, Vrednost FROM Ucenik RIGHT JOIN Ocena ON Ucenik.UcenikID = Ocena.UcenikID;
-
Kako bismo ispisali sve što nam daje left join i sve što nam daje right join (full j.)
SELECT Ime, Predmet, Vrednost FROM Ucenik FULL JOIN Ocena ON Ucenik.UcenikID = Ocena.UcenikID;
-
Kako se realizuje cross join i šta se dobija sa tim?
SELECT Ime, Predmet, Vrednost FROM Ucenik, Ocena;
ovde se radi o kombinaciji - svaki sa svakim
-
ime učenika i ukupan broj ocena koje ima
SELECT Ime, COUNT(Ocena) FROM Ucenik INNER JOIN Ocena ON Ucenik.UcenikID = Ocena.UcenikID GROUP BY Ime ;
-
koji učenici imaju unesenu ocenu iz Matematike
SELECT Ime AS 'Ime ocenu iz Matematike' FROM Ucenik INNER JOIN Ocena ON Ucenik.UcenikID = Ocena.UcenikID WHERE Predmet='Matematika' AND Vrednost IS NOT NULL ;
-
datum kada je bilo koji učenik dobio ocenu iz Srpskog
SELECT Ime, Datum AS 'Datum ocene iz Srpskog' FROM Ucenik INNER JOIN Ocena ON Ucenik.UcenikID = Ocena.UcenikID WHERE Ocena.Predmet='Srpski' ;
-
samo imena učenika koji imaju petice
SELECT Ime AS 'ima peticu' FROM Ucenik INNER JOIN Ocena ON Ucenik.UcenikID = Ocena.UcenikID WHERE Vrednost=5 ;
-
iz kojeg predmeta je najviši prosek
SELECT Predmet AS 'najvisi prosek ima', AVG(Vrednost) AS prosek FROM Ucenik INNER JOIN Ocena ON Ucenik.UcenikID = Ocena.UcenikID GROUP BY Predmet HAVING AVG(Vrednost)=5 ;
Last modified: Friday, 16 January 2026, 3:46 PM