You are on page 1of 3

BAZE PODATAKA / UVOD u SQL

UPITI IZ VIŠE TABELA


Spajanje tabela u upitu

UNUTRAŠNJE SPAJANJE

Spajanje se vrši preko zajedničkog polja, tj. veza se ostvari preko ključeva tabela. Alternativa za ovu vrstu spajanja
je izjednačavanje sekundarnog i primarnog ključa naredbom WHERE koju ćemo i najčešće koristiti.

Primjer: prikazati imena i poslove, brojeve odjeljenja i radna mjesta radnika

 SELECT R.ime,R.posao, O.mjesto, O.brod


FROM Odjeljenje AS O INNER JOIN Radnik AS R
ON R.brod=O.brod;

Ili upotrebom naredbe WHERE

 SELECT Radnik.ime, Radnik.posao, Odjeljenje.mjesto, Odjeljenje.brod


FROM Odjeljenje, Radnik WHERE Radnik.brod=Odjeljenje.brod;
BAZE PODATAKA / UVOD u SQL

SPAJANJE TABELA PO JEDNAKOSTI POLJA

PRIMJER:

1. Izlistati imena i prezimena zaposlenih (baza Preduzeće) i osnovne podatke o odjeljenjima gdje rade zaposleni
na poslovima analitičara.
 SELECT ime, posao, Radnik.brod, imeod, mjesto,
FROM Odjeljenje, Radnik
WHERE Odjeljene.brod= Radnik.brod AND posao='analiticar' ;
2. Izlistati imena, prezimena i sekcije na koje idu učenici.
 SELECT ime, prezime, naziv
FROM Ucenik, Sekcije
WHERE Učenik.SifraU=Sekcje.Oznaka ;

3. Izlistati imena, prezimena i sekcije na koje dolaze iz Loznice.


 SELECT ime, prezime, naziv
FROM Ucenik, Sekcije
WHERE Učenik.SifraU=Sekcje.Oznaka AND mjesto='Loznica' ;
4. Izlistati imena i prezimena učenika koji idu na fudbalsku sekciju.
 SELECT ime, prezime, naziv
FROM Ucenik, Sekcije
WHERE Učenik.SifraU=Sekcje.Oznaka AND naziv='fudbal' ;

Definicije tabela iz slikovnih primjera date na kraju dokumenta


5. ***(desno spajanje) Izlistati imena i prezimena kao i podake o sekcijama na koje ne ide ni jedan učenik.
BAZE PODATAKA / UVOD u SQL

6. Izlistati imena i prezimena učenika, kao i opravdane i neopravdane izostanke koji su napravili učenici u
15. sedmici (ili 11.mjesecu, u zavisnosti od strukture tabele).

7. Koliko je svaki učenik napravio ukupno opravdanih i neopravdanih izostanaka; prikazati imena i prezimena
učenika.

8. Prethodnu naredbu proširiti sa još 2 kolone: redni broj učenika i ukupan broj izostanaka (zbir opravdanih i
neopravdanih časova). Primjer: redbr, ime, prezime, opravdano, neopravdano, ukupno.
 SELECT ime, prezime, sum(bropravd) opravdano, sum(neopravd) NEopravdano,
sum(bropravd)+sum(neopravd) ukupno
FROM Ucenik, Izostanci WHERE Ucenik.redbr=Izostanci.IDucenika
GROUP BY IDucenika;

Definicije tabela iz slikovnih primjera

You might also like