Napredni SQL upiti su ono što te odvaja od početnika... Affiche plus
Napredni SQL Upiti: Vodič za Kompleksne Operacije








Uvod u napredne SQL upite
Dosad si radio samo sa osnovnim SELECT upitima iz jedne tabele, ali u stvarnim bazama podataka informacije su skoro uvek raspoređene u više povezanih tabela. Tu dolaze napredni SQL upiti koji ti omogućavaju da kombinuješ podatke iz različitih tabela i praviš ozbiljne analize.
Najvažniji pojmovi koje moraš da razumeš su JOIN operacije (za spajanje tabela), agregatne funkcije kao što su COUNT() i AVG(), te GROUP BY za grupisanje podataka. Tu su i podupiti - upiti unutar upita koji ti omogućavaju naprednije filtriranje.
💡 Zapamti: Osnova za spajanje tabela su primarni ključ (PK) u jednoj tabeli i strani ključ (FK) u drugoj - to je veza koja omogućava kombinovanje podataka.

Tipovi JOIN operacija
INNER JOIN je najčešći i najvažniji tip spajanja - vraća samo one redove gde se vrednosti poklapaju u obe tabele. Sintaksa je jednostavna: SELECT kolone FROM tabela1 INNER JOIN tabela2 ON tabela1.pk = tabela2.fk.
LEFT JOIN je super kada želiš da vidiš sve entitete iz leve tabele, bez obzira da li imaju parnjaka u desnoj. Na primer, sve učenike čak i one bez ijedne ocene - kolone iz desne tabele će biti NULL ako nema poklapanja.
RIGHT JOIN radi suprotno od LEFT JOIN-a, dok se FULL OUTER JOIN retko koristi na testovima jer kombinuje LEFT i RIGHT JOIN. Venovi dijagrami odlično prikazuju kako ovi JOIN-ovi funkcionišu.
💡 Saveti: Uvek koristi aliase (AS) za tabele kod JOIN-ova -
FROM Ucenici AS uje mnogo čitljivije i kraće od pisanja punog naziva tabele.

Grupisanje i agregatne funkcije
GROUP BY ti omogućava da grupišeš redove koji imaju iste vrednosti u određenim kolonama, a zatim primeniš agregatne funkcije poput COUNT(), SUM(), AVG() na svaku grupu. Ovo je ključno za dobijanje statističkih podataka.
Najvažnija razlika koju moraš da zapamtiš: WHERE se izvršava pre GROUP BY, a HAVING posle GROUP BY. WHERE filtrira pojedinačne redove, dok HAVING filtrira cele grupe. U HAVING klauzuli možeš da koristiš agregatne funkcije, u WHERE ne možeš.
Podupiti su upiti unutar upita - spoljni upit koristi rezultat unutrašnjeg. Skalarni podupit vraća jednu vrednost i može se koristiti bilo gde, dok višeredni podupit vraća više redova i često se koristi sa IN, NOT IN operatorima.
💡 Ključno za ispit: Redosled izvršavanja je FROM/JOIN → WHERE → GROUP BY → HAVING → SELECT → ORDER BY. Ovo objašnjava zašto WHERE ne može da koristi agregatne funkcije!

Praktični primeri sa rešenjima
Za spajanje podataka iz tabela Ucenici i Odeljenja koristiš INNER JOIN preko zajedničke kolone OdeljenjeID: SELECT u.Ime, u.Prezime, o.NazivOdeljenja FROM Ucenici AS u INNER JOIN Odeljenja AS o ON u.OdeljenjeID = o.OdeljenjeID.
Za izračunavanje prosečne ocene po učeniku kombinuješ AVG() funkciju sa GROUP BY: SELECT u.Ime, u.Prezime, AVG(oc.Ocena) AS ProsecnaOcena FROM Ucenici AS u JOIN Ocene AS oc ON u.UcenikID = oc.UcenikID GROUP BY u.UcenikID, u.Ime, u.Prezime.
Kada trebaš da filtriraš grupe, koristiš HAVING umesto WHERE. Za predmete sa prosekom većim od 4.0: SELECT Predmet, AVG(Ocena) AS Prosek FROM Ocene GROUP BY Predmet HAVING AVG(Ocena) > 4.0.
💡 Važna napomena: Sve kolone u SELECT listi koje nisu pod agregatnom funkcijom moraju biti u GROUP BY klauzuli!

Podupiti i napredne tehnike
Podupit ti omogućava da koristiš rezultat jednog upita u drugom upitu. Na primer, za učenike iz odeljenja "IV-2": SELECT Ime, Prezime FROM Ucenici WHERE OdeljenjeID = .
Ovo je često efikasnije od JOIN-a kada ti trebaju podaci samo iz jedne tabele. Skalarni podupiti vraćaju jednu vrednost, dok višeredni rade sa IN operatorom za više rezultata.
Redosled izvršavanja SQL upita je ključan za razumevanje: FROM/JOIN → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY → LIMIT. Iako pišeš SELECT prvi, baza ga izvršava skoro na kraju!
💡 Za ispit: Agregatne funkcije (SUM, AVG, MIN, MAX) ignorišu NULL vrednosti, ali COUNT(*) broji sve redove uključujući i NULL.

Kratak pregled za ispit
JOIN operacije: INNER JOIN spaja samo poklapanja (najvažniji), LEFT JOIN čuva sve iz leve tabele. Agregatne funkcije COUNT, SUM, AVG rade nad grupama redova koje kreira GROUP BY.
Ključna razlika: WHERE filtrira redove pre grupisanja, HAVING filtrira grupe posle agregacije. Ovo je najčešće pitanje na testu, tako da dobro zapamti!
Podupiti mogu biti skalarni (jedna vrednost) ili višeredni (više redova sa IN operatorom). NULL vrednosti su poseban slučaj - agregatne funkcije ih ignorišu, osim COUNT(*).
💡 Finalni saveti: Koristi aliase za čitljivost, zapamti redosled izvršavanja upita, i vežbaj razliku između WHERE i HAVING - to je garantovano na ispitu!

Si on te demande...
Qu'est-ce que le compagnon IA de Knowunity ?
Notre compagnon IA est spécialement conçu pour répondre aux besoins des étudiants. Sur la base des millions d'éléments de contenu que nous avons sur la plateforme, nous pouvons fournir des réponses vraiment significatives et pertinentes aux étudiants. Mais il ne s'agit pas seulement de réponses, le compagnon a encore plus pour but de guider les élèves dans leurs défis d'apprentissage quotidiens, avec des plans d'étude personnalisés, des quiz ou des éléments de contenu dans le chat et une personnalisation à 100% basée sur les compétences et les développements de l'étudiant.
Où puis-je télécharger l'appli Knowunity ?
Tu peux télécharger l'application dans Google Play Store et dans l'App Store d'Apple.
L'application est-elle vraiment gratuite ?
Oui, tu as un accès entièrement gratuit à tous les contenus de l'appli, tu peux chatter ou suivre les créateurs à tout moment. De plus, nous proposons Knowunity Premium, qui te permet de réviser sans limites!
Contenus les plus populaires en Informatika
9Uvod u programski jezik (npr. Python)
Upoznavanje sa programskim okruženjem, pisanjem i pokretanjem jednostavnih programa u odabranom jeziku.
Veštačka inteligencija i mašinsko učenje
Uvod u osnovne koncepte veštačke inteligencije i mašinskog učenja, kao i njihove primene u svakodnevnom životu i industriji.
Grafički prikaz podataka
Kreiranje različitih tipova grafikona (stubičasti, linijski, kružni) za jasnije i vizuelno privlačnije predstavljanje podataka.
SQL – upiti za preuzimanje podataka (SELECT)
Korišćenje SELECT naredbe sa WHERE, ORDER BY i GROUP BY klauzulama za efikasno preuzimanje i filtriranje podataka iz tabela.
Uvod u algoritme
Definisanje algoritma, razumevanje njegovih osobina i upoznavanje sa različitim načinima predstavljanja, kao što su pseudokod i dijagram toka.
CSS – responzivni dizajn (osnove)
Upoznavanje sa osnovama responzivnog dizajna i korišćenjem media queries-a za prilagođavanje izgleda veb stranice različitim veličinama ekrana.
HTML – struktura veb stranice
Učenje o naprednijim HTML oznakama, semantičkim HTML5 elementima i ugradnji multimedijalnih sadržaja za obogaćivanje veb stranica.
Digitalna reprezentacija podataka
Upoznavanje sa binarnim sistemom (bit, bajt) kao osnovom za predstavljanje svih vrsta podataka u računaru.
Kategorije softvera
Razumevanje različitih kategorija softvera, uključujući sistemski, aplikativni i uslužni softver, kao i softver otvorenog koda.
Contenus les plus populaires
9Glagoli
Ponavljaće se poznati glagolski oblici (prezent, perfekat, futur I), a učiće se i novi oblici kao što su aorist, imperfekat, pluskvamperfekat, futur II, kao i glagolski prilozi i pridevi.
Glavni frontovi i ključne bitke
Proučavaće se najvažniji frontovi i bitke koje su obeležile Prvi svetski rat.
Rečenični članovi
Učiće se o glavnim i sporednim rečeničnim članovima (subjekat, predikat, objekat, priloške odredbe, atribut, apozicija) i njihovoj funkciji.
Glagoli
Obradićemo glagolska vremena (prezent, futur I, perfekat) i glagolske načine, kao i glagolske oblike (infinitiv, glagolski pridevi i prilozi) i glagolski vid (svršeni i nesvršeni).
Ugljovodonici
Učićete o najjednostavnijim organskim jedinjenjima – ugljovodonicima, uključujući alkane, alkene i alkine, njihove opšte formule i osnovnu nomenklaturu.
Glasovi i glasovne promene
Ponovićemo šta su glasovi i kako se dele, a zatim ćemo učiti o važnim promenama koje se dešavaju kada se glasovi nađu jedan pored drugog u rečima (npr. jednačenje suglasnika po zvučnosti i mestu tvorbe).
Stilske figure
Ponavljaće se i produbljivati znanje o stilskim figurama kao što su epitet, poređenje, metafora, personifikacija, hiperbola, onomatopeja, aliteracija i asonanca, razumevajući njihovu ulogu u tekstu.
Fonetika
Za 8. Razred
Četvorougao
Upoznavanje sa vrstama četvorouglova (paralelogram, pravougaonik, kvadrat, romb, trapez) i njihovim osnovnim svojstvima.
Rien ne te convient ? Explore d'autres matières.
Les étudiants nous adorent — il ne manque plus que toi.
L'application est très facile d'utilisation et bien conçue. Jusqu'à présent, j'ai trouvé tout ce que je cherchais et j'ai pu apprendre beaucoup de choses grâce aux présentations ! Je vais certainement utiliser l'application pour un travail en classe ! Et comme source d'inspiration personnelle, elle est bien sûr aussi très utile.
Cette application est vraiment super. Il y a tellement de fiches de révision et d'aide, [...]. Par exemple, la matière qui me pose problème est le français et l'appli a un choix d'aide très large. Grâce à cette application, je me suis améliorée en français. Je la recommanderais à tout le monde.
Waouh, je suis vraiment abasourdi. J'ai essayé l'application parce que je l'avais déjà vue plusieurs fois dans la publicité et j'ai été absolument choquée. Cette appli est L'AIDE dont on rêve pour l'école et surtout, elle propose tellement de choses, comme des rédactions et des fiches qui m'ont personnellement TRÈS bien aidé.
Napredni SQL Upiti: Vodič za Kompleksne Operacije
Napredni SQL upiti su ono što te odvaja od početnika - omogućavaju ti da kombinuješ podatke iz više tabela, praviš složene kalkulacije i dobijaš prave odgovore iz baze podataka. Ovo je materijal koji ćeš definitivno imati na ispitu i koristiti... Affiche plus

Inscris-toi pour voir le contenu. C'est gratuit!
- Accès à tous les documents
- Améliore tes notes
- Rejoins des millions d'étudiants
Uvod u napredne SQL upite
Dosad si radio samo sa osnovnim SELECT upitima iz jedne tabele, ali u stvarnim bazama podataka informacije su skoro uvek raspoređene u više povezanih tabela. Tu dolaze napredni SQL upiti koji ti omogućavaju da kombinuješ podatke iz različitih tabela i praviš ozbiljne analize.
Najvažniji pojmovi koje moraš da razumeš su JOIN operacije (za spajanje tabela), agregatne funkcije kao što su COUNT() i AVG(), te GROUP BY za grupisanje podataka. Tu su i podupiti - upiti unutar upita koji ti omogućavaju naprednije filtriranje.
💡 Zapamti: Osnova za spajanje tabela su primarni ključ (PK) u jednoj tabeli i strani ključ (FK) u drugoj - to je veza koja omogućava kombinovanje podataka.

Inscris-toi pour voir le contenu. C'est gratuit!
- Accès à tous les documents
- Améliore tes notes
- Rejoins des millions d'étudiants
Tipovi JOIN operacija
INNER JOIN je najčešći i najvažniji tip spajanja - vraća samo one redove gde se vrednosti poklapaju u obe tabele. Sintaksa je jednostavna: SELECT kolone FROM tabela1 INNER JOIN tabela2 ON tabela1.pk = tabela2.fk.
LEFT JOIN je super kada želiš da vidiš sve entitete iz leve tabele, bez obzira da li imaju parnjaka u desnoj. Na primer, sve učenike čak i one bez ijedne ocene - kolone iz desne tabele će biti NULL ako nema poklapanja.
RIGHT JOIN radi suprotno od LEFT JOIN-a, dok se FULL OUTER JOIN retko koristi na testovima jer kombinuje LEFT i RIGHT JOIN. Venovi dijagrami odlično prikazuju kako ovi JOIN-ovi funkcionišu.
💡 Saveti: Uvek koristi aliase (AS) za tabele kod JOIN-ova -
FROM Ucenici AS uje mnogo čitljivije i kraće od pisanja punog naziva tabele.

Inscris-toi pour voir le contenu. C'est gratuit!
- Accès à tous les documents
- Améliore tes notes
- Rejoins des millions d'étudiants
Grupisanje i agregatne funkcije
GROUP BY ti omogućava da grupišeš redove koji imaju iste vrednosti u određenim kolonama, a zatim primeniš agregatne funkcije poput COUNT(), SUM(), AVG() na svaku grupu. Ovo je ključno za dobijanje statističkih podataka.
Najvažnija razlika koju moraš da zapamtiš: WHERE se izvršava pre GROUP BY, a HAVING posle GROUP BY. WHERE filtrira pojedinačne redove, dok HAVING filtrira cele grupe. U HAVING klauzuli možeš da koristiš agregatne funkcije, u WHERE ne možeš.
Podupiti su upiti unutar upita - spoljni upit koristi rezultat unutrašnjeg. Skalarni podupit vraća jednu vrednost i može se koristiti bilo gde, dok višeredni podupit vraća više redova i često se koristi sa IN, NOT IN operatorima.
💡 Ključno za ispit: Redosled izvršavanja je FROM/JOIN → WHERE → GROUP BY → HAVING → SELECT → ORDER BY. Ovo objašnjava zašto WHERE ne može da koristi agregatne funkcije!

Inscris-toi pour voir le contenu. C'est gratuit!
- Accès à tous les documents
- Améliore tes notes
- Rejoins des millions d'étudiants
Praktični primeri sa rešenjima
Za spajanje podataka iz tabela Ucenici i Odeljenja koristiš INNER JOIN preko zajedničke kolone OdeljenjeID: SELECT u.Ime, u.Prezime, o.NazivOdeljenja FROM Ucenici AS u INNER JOIN Odeljenja AS o ON u.OdeljenjeID = o.OdeljenjeID.
Za izračunavanje prosečne ocene po učeniku kombinuješ AVG() funkciju sa GROUP BY: SELECT u.Ime, u.Prezime, AVG(oc.Ocena) AS ProsecnaOcena FROM Ucenici AS u JOIN Ocene AS oc ON u.UcenikID = oc.UcenikID GROUP BY u.UcenikID, u.Ime, u.Prezime.
Kada trebaš da filtriraš grupe, koristiš HAVING umesto WHERE. Za predmete sa prosekom većim od 4.0: SELECT Predmet, AVG(Ocena) AS Prosek FROM Ocene GROUP BY Predmet HAVING AVG(Ocena) > 4.0.
💡 Važna napomena: Sve kolone u SELECT listi koje nisu pod agregatnom funkcijom moraju biti u GROUP BY klauzuli!

Inscris-toi pour voir le contenu. C'est gratuit!
- Accès à tous les documents
- Améliore tes notes
- Rejoins des millions d'étudiants
Podupiti i napredne tehnike
Podupit ti omogućava da koristiš rezultat jednog upita u drugom upitu. Na primer, za učenike iz odeljenja "IV-2": SELECT Ime, Prezime FROM Ucenici WHERE OdeljenjeID = .
Ovo je često efikasnije od JOIN-a kada ti trebaju podaci samo iz jedne tabele. Skalarni podupiti vraćaju jednu vrednost, dok višeredni rade sa IN operatorom za više rezultata.
Redosled izvršavanja SQL upita je ključan za razumevanje: FROM/JOIN → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY → LIMIT. Iako pišeš SELECT prvi, baza ga izvršava skoro na kraju!
💡 Za ispit: Agregatne funkcije (SUM, AVG, MIN, MAX) ignorišu NULL vrednosti, ali COUNT(*) broji sve redove uključujući i NULL.

Inscris-toi pour voir le contenu. C'est gratuit!
- Accès à tous les documents
- Améliore tes notes
- Rejoins des millions d'étudiants
Kratak pregled za ispit
JOIN operacije: INNER JOIN spaja samo poklapanja (najvažniji), LEFT JOIN čuva sve iz leve tabele. Agregatne funkcije COUNT, SUM, AVG rade nad grupama redova koje kreira GROUP BY.
Ključna razlika: WHERE filtrira redove pre grupisanja, HAVING filtrira grupe posle agregacije. Ovo je najčešće pitanje na testu, tako da dobro zapamti!
Podupiti mogu biti skalarni (jedna vrednost) ili višeredni (više redova sa IN operatorom). NULL vrednosti su poseban slučaj - agregatne funkcije ih ignorišu, osim COUNT(*).
💡 Finalni saveti: Koristi aliase za čitljivost, zapamti redosled izvršavanja upita, i vežbaj razliku između WHERE i HAVING - to je garantovano na ispitu!

Inscris-toi pour voir le contenu. C'est gratuit!
- Accès à tous les documents
- Améliore tes notes
- Rejoins des millions d'étudiants
Si on te demande...
Qu'est-ce que le compagnon IA de Knowunity ?
Notre compagnon IA est spécialement conçu pour répondre aux besoins des étudiants. Sur la base des millions d'éléments de contenu que nous avons sur la plateforme, nous pouvons fournir des réponses vraiment significatives et pertinentes aux étudiants. Mais il ne s'agit pas seulement de réponses, le compagnon a encore plus pour but de guider les élèves dans leurs défis d'apprentissage quotidiens, avec des plans d'étude personnalisés, des quiz ou des éléments de contenu dans le chat et une personnalisation à 100% basée sur les compétences et les développements de l'étudiant.
Où puis-je télécharger l'appli Knowunity ?
Tu peux télécharger l'application dans Google Play Store et dans l'App Store d'Apple.
L'application est-elle vraiment gratuite ?
Oui, tu as un accès entièrement gratuit à tous les contenus de l'appli, tu peux chatter ou suivre les créateurs à tout moment. De plus, nous proposons Knowunity Premium, qui te permet de réviser sans limites!
Contenus les plus populaires en Informatika
9Uvod u programski jezik (npr. Python)
Upoznavanje sa programskim okruženjem, pisanjem i pokretanjem jednostavnih programa u odabranom jeziku.
Veštačka inteligencija i mašinsko učenje
Uvod u osnovne koncepte veštačke inteligencije i mašinskog učenja, kao i njihove primene u svakodnevnom životu i industriji.
Grafički prikaz podataka
Kreiranje različitih tipova grafikona (stubičasti, linijski, kružni) za jasnije i vizuelno privlačnije predstavljanje podataka.
SQL – upiti za preuzimanje podataka (SELECT)
Korišćenje SELECT naredbe sa WHERE, ORDER BY i GROUP BY klauzulama za efikasno preuzimanje i filtriranje podataka iz tabela.
Uvod u algoritme
Definisanje algoritma, razumevanje njegovih osobina i upoznavanje sa različitim načinima predstavljanja, kao što su pseudokod i dijagram toka.
CSS – responzivni dizajn (osnove)
Upoznavanje sa osnovama responzivnog dizajna i korišćenjem media queries-a za prilagođavanje izgleda veb stranice različitim veličinama ekrana.
HTML – struktura veb stranice
Učenje o naprednijim HTML oznakama, semantičkim HTML5 elementima i ugradnji multimedijalnih sadržaja za obogaćivanje veb stranica.
Digitalna reprezentacija podataka
Upoznavanje sa binarnim sistemom (bit, bajt) kao osnovom za predstavljanje svih vrsta podataka u računaru.
Kategorije softvera
Razumevanje različitih kategorija softvera, uključujući sistemski, aplikativni i uslužni softver, kao i softver otvorenog koda.
Contenus les plus populaires
9Glagoli
Ponavljaće se poznati glagolski oblici (prezent, perfekat, futur I), a učiće se i novi oblici kao što su aorist, imperfekat, pluskvamperfekat, futur II, kao i glagolski prilozi i pridevi.
Glavni frontovi i ključne bitke
Proučavaće se najvažniji frontovi i bitke koje su obeležile Prvi svetski rat.
Rečenični članovi
Učiće se o glavnim i sporednim rečeničnim članovima (subjekat, predikat, objekat, priloške odredbe, atribut, apozicija) i njihovoj funkciji.
Glagoli
Obradićemo glagolska vremena (prezent, futur I, perfekat) i glagolske načine, kao i glagolske oblike (infinitiv, glagolski pridevi i prilozi) i glagolski vid (svršeni i nesvršeni).
Ugljovodonici
Učićete o najjednostavnijim organskim jedinjenjima – ugljovodonicima, uključujući alkane, alkene i alkine, njihove opšte formule i osnovnu nomenklaturu.
Glasovi i glasovne promene
Ponovićemo šta su glasovi i kako se dele, a zatim ćemo učiti o važnim promenama koje se dešavaju kada se glasovi nađu jedan pored drugog u rečima (npr. jednačenje suglasnika po zvučnosti i mestu tvorbe).
Stilske figure
Ponavljaće se i produbljivati znanje o stilskim figurama kao što su epitet, poređenje, metafora, personifikacija, hiperbola, onomatopeja, aliteracija i asonanca, razumevajući njihovu ulogu u tekstu.
Fonetika
Za 8. Razred
Četvorougao
Upoznavanje sa vrstama četvorouglova (paralelogram, pravougaonik, kvadrat, romb, trapez) i njihovim osnovnim svojstvima.
Rien ne te convient ? Explore d'autres matières.
Les étudiants nous adorent — il ne manque plus que toi.
L'application est très facile d'utilisation et bien conçue. Jusqu'à présent, j'ai trouvé tout ce que je cherchais et j'ai pu apprendre beaucoup de choses grâce aux présentations ! Je vais certainement utiliser l'application pour un travail en classe ! Et comme source d'inspiration personnelle, elle est bien sûr aussi très utile.
Cette application est vraiment super. Il y a tellement de fiches de révision et d'aide, [...]. Par exemple, la matière qui me pose problème est le français et l'appli a un choix d'aide très large. Grâce à cette application, je me suis améliorée en français. Je la recommanderais à tout le monde.
Waouh, je suis vraiment abasourdi. J'ai essayé l'application parce que je l'avais déjà vue plusieurs fois dans la publicité et j'ai été absolument choquée. Cette appli est L'AIDE dont on rêve pour l'école et surtout, elle propose tellement de choses, comme des rédactions et des fiches qui m'ont personnellement TRÈS bien aidé.