SQL Kolokvij Flashcards

1
Q

Prikazati naziv, spol i radne sate svake osobe koja u naziv sadrži ‘ić’ te ima nadređenu osobu
a također prikazati i naziv spol i radne sate osobe koja joj je nadređena.
Dodati aliase na svaki stupac

A

SELECT
o1.NAZIV_O AS NazivOsobe,
o1.SPOL AS SpolOsobe,
o1.SATI as RadniSatiOsobe,
o2.NAZIV_O AS NazivNadredjenog,
o2.SPOL AS SpolNadredjenog,
o2.SATI AS SatiNadredjenog
FROM pposcic.OSOBA o1 JOIN pposcic.OSOBA o2 ON o1.NADREDJENI = o2.SIFRA_O
WHERE o1.NAZIV_O LIKE ‘%ić%’ AND o1.NADREDJENI IS NOT NULL;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Koliko osoba koje rade na projektu koji počinje u 2020. godini ima veću godišnju plaću od najveće
godišnje plaće osoba s projekta AVANT

A

SELECT COUNT(*) AS BrojOsoba
FROM pposcic.OSOBA O
JOIN pposcic.PROJEKT P ON O.SIFRA_P = P.SIFRA_P
WHERE P.DATPOC >= TO_DATE(‘2020-01-01’, ‘YYYY-MM-DD’)
AND O.PLACA * 12 > (
SELECT MAX(PLACA) * 12
FROM pposcic.OSOBA
WHERE NAZIV_P = ‘AVANT’
);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Prikazati odobrena sredstva po godini izvođenja projekta (dodati alias) onih projekata koji imaju
zaposlene barem dvije osobe na plaći manjoj od 2700 EUR, a da su voditelji tima ili developeri

A

SELECT
P.SIFRA_P AS Sifra_Projekta,
P.NAZIV_P AS Naziv_Projekta,
TO_CHAR(P.DATPOC, ‘YYYY’) AS Godina_Izvodjenja,
P.SREDSTVA AS Odobrena_Sredstva
FROM pposcic.PROJEKT P JOIN pposcic.OSOBA O ON P.SIFRA_P = O.SIFRA_P
WHERE O.PLACA < 2700 AND O.ULOGA IN (‘voditelj tima’, ‘developer’)
GROUP BY P.SIFRA_P, P.NAZIV_P, TO_CHAR(P.DATPOC, ‘YYYY’), P.SREDSTVA
HAVING COUNT(*) >= 2;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Prikazati naziv projekta, kao i naziv, plaću i radne sate svih njegovih članova (osoba), uključujući
i osobe koje nisu pridružene na projekte. Sortirati u rastućem redoslijedu plaće, a unutar toga po nazivu
projekta u padajućem redoslijedu

A

SELECT
P.NAZIV_P AS Naziv_Projekta,
O.NAZIV_O AS Naziv_Osobe,
O.PLACA AS Placa_Osobe,
O.SATI AS Sati_Osobe
FROM pposcic.PROJEKT P LEFT JOIN pposcic.OSOBA O ON P.SIFRA_P = O.SIFRA_P
ORDER BY O.PLACA ASC, P.NAZIV_P DESC;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Prikazati za svaku osobu njezinu šifru, spol, naziv i sredstva projekta na kojem radi te razinu kojoj
osoba pripada prema iznosu radnih sati

A

SELECT
O.SIFRA_O AS Sifra_Osobe,
O.SPOL AS Spol_Osobe,
P.NAZIV_P AS Naziv_Projekta,
P.SREDSTVA AS Sredstva_Projekta,
R.RAZINA AS Razina_Osobe
FROM pposcic.OSOBA O JOIN pposcic.PROJEKT P ON O.SIFRA_P = P.SIFRA_P
JOIN pposcic.RAZINA R ON O.SATI BETWEEN R.MIN_S AND R.MAX_S;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Koliko osoba koje rade na projektu koji završava u 2024. godini ima veću mjesečnu plaću od
najveće plaće osobe s projekta TERLA

A

SELECT COUNT(*) AS Broj_Osoba FROM pposcic.OSOBA O JOIN pposcic.PROJEKT P
ON O.SIFRA_P = P.SIFRA_P WHERE P.DATZAV <= TO_DATE(‘31-12-2024’, ‘DD-MM-YYYY’)
AND O.PLACA > (SELECT MAX(PLACA) FROM pposcic.OSOBA WHERE NAZIV_P = ‘TERLA’);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Ispisati naziv, ulogu i plaću osoba koje imaju plaću veću od najveće plaće voditelja tima,
ali i rade na onim projektima koji imaju zaposlene osobe koje u nazivu sadrže izraz ‘ić’

A

SELECT
O.NAZIV_O AS Naziv_Osobe,
O.ULOGA AS Uloga_Osobe,
O.PLACA AS Placa_Osobe
FROM pposcic.OSOBA O JOIN pposcic.PROJEKT P ON O.SIFRA_P = P.SIFRA_P
WHERE O.PLACA > (SELECT MAX(PLACA) FROM pposcic.OSOBA WHERE ULOGA = ‘voditelj tima’
AND P.SIFRA_P IN (SELECT SIFRA_P FROM pposcic.OSOBA WHERE NAZIV_O LIKE ‘%ić%’));

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Prikazati sve podatke o projektima koji imaju barem dva developera s plaćom većom od 2300 EUR

A

SELECT P.* FROM pposcic.PROJEKT P JOIN pposcic.OSOBA O ON P.SIFRA_P = O.SIFRA_P
WHERE O.PLACA > 2300 AND O.ULOGA = ‘developer’ GROUP BY P.SIFRA_P, P.NAZIV_P, P.DATPOC, P.DATZAV, P.SREDSTVA
HAVING COUNT(*) >= 2;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Prikazati naziv projekta, kao i naziv, plaću i radne sate svih njegovih članova (osoba), uključujući
i projekte bez pridruženih članova. Sortirati u padajućem redoslijedu po nazivu projekta, a unutar toga
po radnim satima u padajućem redoslijedu

A

SELECT
P.NAZIV_P AS Naziv_Projekta,
O.NAZIV_O AS Naziv_Osobe,
O.PLACA AS Placa_Osobe,
O.SATI AS Radni_Sati_Osobe
FROM pposcic.PROJEKT P LEFT JOIN pposcic.OSOBA O ON P.SIFRA_P = O.SIFRA_P
ORDER BY P.NAZIV_P DESC, O.SATI DESC;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Prikazati za svaku osobu njezin naziv, naziv projekta na kojem radi, sate, plaću te razinu kojoj osoba pripada prema iznosu radnih sati

A

SELECT
O.NAZIV_O AS Naziv_Osobe,
P.NAZIV_P AS Naziv_Projekta,
O.SATI AS Radni_Sati_Osobe,
O.PLACA AS Placa_Osobe,
R.RAZINA AS Razina_Osobe
FROM pposcic.OSOBA O JOIN pposcic.PROJEKT P ON O.SIFRA_P = P.SIFRA_P
JOIN pposcic.RAZINA R ON O.SATI BETWEEN R.MIN_S AND R.MAX_S;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly