18
1. Naredba SELECT II Ciljevi lekcije Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT za pretraživanje podataka u većem broju tabela. Upoznati se sa različitim tipovima spoja koji mogu da postoje između tabela. Upoznati se sa mogućnošću kombinovanja rezultata većeg broja upita. U ovoj lekciji će biti obrađene naprednije teme vezane za korišćenje SELECT naredbe za pretraživanje i pribavljanje podataka iz relacione baze podataka. U prethodnoj lekciji smo obradili osnovne oblike SELECT naredbe i videli kako naredba može da se koristi za pribavljanje podataka iz jedne tabele. U ovoj lekciji upoznaćemo se sa mogućnošću grupisanja podataka po različitim kriterijumima. Videćemo kako je u rezultujućoj tabeli moguće kombinovati podatke iz nekoliko različitih tabela. Takođe, upoznaćemo se i sa mogućnostima kombinovanja rezultata većeg broja SQL upita. Neophodno predznanje Relacija Tabela sa vrstama i kolonama. Atribut relacije Predstavlja osobinu entiteta predstavljenog relacijom. Atribut je praktično imenovana kolona relacije odnosno tabele, koje se odnose na svojstva objekta predstavljenog relacijom. Torka relacije Vrsta relacije. Spoljni ključ / Strani ključ Atribut ili skup atributa jedne relacije koji se uparuje sa ključem kandidatom neke druge ili iste relacije. Referencijalni integritet

midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

1. Naredba SELECT II

Ciljevi lekcije Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT za pretraživanje podataka u većem broju

tabela. Upoznati se sa različitim tipovima spoja koji mogu da postoje između tabela. Upoznati se sa mogućnošću kombinovanja rezultata većeg broja upita.

U ovoj lekciji će biti obrađene naprednije teme vezane za korišćenje SELECT naredbe za pretraživanje i pribavljanje podataka iz relacione baze podataka. U prethodnoj lekciji smo obradili osnovne oblike SELECT naredbe i videli kako naredba može da se koristi za pribavljanje podataka iz jedne tabele. U ovoj lekciji upoznaćemo se sa mogućnošću grupisanja podataka po različitim kriterijumima. Videćemo kako je u rezultujućoj tabeli moguće kombinovati podatke iz nekoliko različitih tabela. Takođe, upoznaćemo se i sa mogućnostima kombinovanja rezultata većeg broja SQL upita.

Neophodno predznanje

Relacija Tabela sa vrstama i kolonama.

Atribut relacije Predstavlja osobinu entiteta predstavljenog relacijom. Atribut je praktično imenovana kolona relacije odnosno tabele, koje se odnose na svojstva objekta predstavljenog relacijom.

Torka relacije Vrsta relacije.

Spoljni ključ / Strani ključ Atribut ili skup atributa jedne relacije koji se uparuje sa ključem kandidatom neke druge ili iste relacije.

Referencijalni integritet Ako postoji neki spoljni ključ u relaciji, njegova vrednost mora biti jednaka vrednosti ključa kandidata neke torke u matičnoj relaciji ili njegova vrednost mora biti NULL.

SQL Programski jezik koji je projektovan za potrebe pretraživanja i upravljanja podacima u Sistemima za upravljanje relacionim bazama podataka (Relational Database Management Systems - RDBMS), za kreiranje i modifikacija šema relacione baze podataka i za kontrolu pristupa objektima baze podataka.

Naredba SELECT SQL naredba koja se koristi za pribavljanje podatak iz jedne tabele ili više povezanih tabela koje se nalaze u relacionoj bazi podataka.

Page 2: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

1.1. Klauzule GROUP BY i HAVING

U prethodnoj lekciji upoznali smo se sa funkcijama agregacije. Ove funkcije imaju zadatak da omoguće generisanje sumarnih informacija na osnovu podataka u relacionoj bazi podataka.

Klauzula GROUP BY ima zadatak da omogući grupisanje vrsta u rezultujućoj tabeli na osnovu zajedničkih vrednosti. Time se povećava vrednost funkcija agregacije jer se u kombinaciji sa GROUP BY klauzulom mogu primenjivati na grupe vrsta a ne samo na čitavu rezultujuću tabelu.

Primer 1

Potrebno je voditi računa, da ukoliko ne postoji GROUP BY klauzula, u SELECT klauzuli nije moguće kombinovati funkcije agregacije sa imenima kolona. U nastavku je dat SQL upit koji NE MOŽE DA SE IZVRŠI i koji će dovesti do POJAVE GREŠKE.

SELECT Ime, Prezime, SUM(Plata)

FROM RADNIK;

Ovaj upit je moguć samo uz upotrebu GROUP BY klauzule.

Klauzula GROUP BY zahteva od DBMS-a da izvrši sortiranje rezultujuće tabele prema specificiranim kolonama i izvrši grupisanje vrsta koje imaju iste vrednosti za specificirane kolone. Ukoliko su prisutne funkcije agregacije one će se primeniti na tako dobijene grupe. Tek uz prisustvo GROUP BY klauzule moguće je u SELECT klauzuli kombinovati imena kolona i funkcije agregacije.

Bitno je da napomenuti da se klauzula GROUP BY izvršava nakon klauzule WHERE odnosno da se grupisanje vrši tek nakon što su određene vrste koje treba da uđu u sastav rezultujuće tabele.

Primer 2

U nastavku je dat primer SQL upita koji za svaki sektor računa broj radnika koji rade u njemu. Za grupisanje radnika po broju sektora u kome radi iskorišćena je GROUP BY klauzula.

SELECT Sektor, COUNT(*)

FROM RADNIK

GROUP BY Sektor;

Page 3: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

Klauzula HAVING omogućava filtriranje rezultata dobijenih korišćenjem GROUP BY klauzule. Ova klauzula primenjuje uslov filtriranje na formirane grupe.

Primer 3

SQL upit iz prethodnog primera je modifikovan, korišćenjem HAVING klauzule, tako da su prikazani podaci samo o sektorima koji imaju više od jednog radnika.

SELECT Sektor, COUNT(*)

FROM RADNIK

GROUP BY Sektor

HAVING COUNT(*) > 1;

1.1.1. Primena

Klauzule GROUP BY i HAVING je moguće kombinovati sa WHERE klauzulom. Pri tome treba voditi računa o redosledu izvršavanja (isti je redosled po kome se klauzule ređaju prilikom pisanja SELECT naredbe):

1. WHERE - primenjuje se predikat koji određuje vrste koje ulaze u sastav rezultujuće tabele

2. GROUP BY - vrši se grupisanje vrsta u rezultujućoj tabeli3. HAVING - primenjuje se predikat koji određuje vrste koje će ostati u rezultatu upita4. ORDER BY - sortiranje rezultata se vrši tek na kraju

SELECT Sektor, COUNT(*) AS BrojRadnika

FROM RADNIK

WHERE Pol = 'Ž'

GROUP BY Sektor

HAVING COUNT(*) > 1;

Page 4: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

 

Prilikom korišćenja klauzule GROUP BY, sve kolone koje su navedene u klauzuli SELECT a na koje nije primenjena neka funkcija agregacije, MORAJU BITI NAVEDENE U GROUP BY KLAUZULI. U suprotnom SQL upit neće moći da se izvrši.

Primer 4

Klauzulu GROUP BY je moguće primeniti istovremeno na veći broj kolona. Pri tome su kriterijum za formiranje grupa zajedničke vrednosti u specificiranim kolonama. Prilikom formiranja grupa vodi se računa i o redosledu po kome su kolone za grupisanje navedene (kao da se formiraju grupe sa podgrupama u okviru njih).

SELECT Sektor, Pol, AVG(Plata) AS ProsekPlata

FROM RADNIK

GROUP BY Sektor, Pol

ORDER BY AVG(Plata);

1.2. Spajanje tabela

Svi SQL upiti koje smo do sada razmatrali su koristili podatke iz samo jedne tabele. Često se javlja situacija da se tražena informacija nalazi u većem broju tabela. U takvim situacijama potrebno je izvršiti spajanje vrsta iz različitih tabela i generisanje rezultujuće tabele.

Za pribavljanje podataka iz većeg broja tabela dovoljno je u klauzuli FROM navesti imena tabela iz kojih želimo da pribavimo podatke. Da bi spajanje tabela bilo uspešno, osim u nekim specijalnim slučajevima, potrebno je da navedemo uslov spoja, odnosno da navedemo kolone na osnovu čijih vrednosti se vrši spajanje vrsta iz različitih tabela. Spajanje tabela se vrši tako što se najčešće uparuje strani ključ iz jedne tabele sa primarnim ključem koji referencira u drugoj tabeli (Videti ograničenja stranog ključa u Lekciji 2 Videti šta će biti naslov lekcije 2). Uslov spajanja može da se zada u okviru WHERE klauzule ili korišćenjem ključne reči JOIN u okviru FROM klauzule.

Page 5: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

Spoj na jednakost (equi-join) obezbeđuje spajanje podataka iz dve ili više tabela na osnovu jednakosti odgovarajućih atributa, obično na osnovu primarnih i spoljnih ključeva. Najjednostavniji slučaj navođenja spoja je kada se u WHERE klauzuli specificira uslov spoja po jednakosti.

Dekartov proizvod je slučaj kada u WHERE klauzuli ne postoji uslov spoja, a u FROM klauzuli je navedeno više tabela. U tom slučaju nema spajanja vrsta po vrednosti nekog atributa, već se pravi kombinacija svake vrste iz jedne tabele sa svakom vrstom iz druge tabele (u slučaju Dekartovog proizvoda dve tabele)

Spoljni spoj (outer-join) omogućava spajanje dve tabele po vrednosti nekog atributa (kao kod equi-join), ali i uključivanje onih torki (vrsta) iz jedne ili druge tabele (ili iz obe), koje ne zadovoljavaju uslov jednakosti.

Da bi bolje razumeli različite tipove spoja koristićemo tabele RADNIK i SEKTOR ali u nešto jednostavnijem obliku. Pojednostavljene verzije tabela, RADNIK1 i SEKTOR1, su date u nastavku. Za svaki tip spoja daćemo oba oblika navođenja uslova spoja: i korišćenjem WHERE klauzule i korišćenjem ključne reči JOIN u klauzuli FROM.

Tabela 1 Modifikovana tabela RADNIK

   

Tabela 2 Modifikovana tabela SEKTOR

1.2.1. Dekartov proizvod (cross-join)

Dekartov proizvod dve tabele (A CROSS JOIN B) se dobija tako što se svaka vrsta iz jedne tabele kombinuje sa svakom vrstom iz druge tabele.

Primer 5

Page 6: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

Prilikom korišćenja Dekartovog proizvoda tabela treba voditi računa da sintaksa CROSS JOIN nije podržana od strane MS Access-a.

SELECT *

FROM SEKTOR1, RADNIK1;

 

SELECT *

FROM SEKTOR1 CROSS JOIN RADNIK1;

Page 7: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

1.2.2. Unutrašnji spoj (inner-join)

Inner join predstavlja najčešće korišćeni tip spoja. Ovaj tip spoja, u osnovi, definiše presek vrsta iz tabela koje učestvuju u spoju.

Prilikom spajanja dve tabele (A INNER JOIN B) uzimaju se sve vrste iz tabele A i pronalazi im se odgovarajuća vrsta u tabeli B. Ukoliko vrsta iz tabele A nema odgovarajuću vrstu u tabeli B ne uključuje se u rezultat. Ukoliko vrsti iz tabele A odgovara više vrsta tabele B ona se u rezultatu ponavlja više puta (po jednom za svaku odgovarajuću vrstu u tabeli B).

Primer 6

Prilikom spajanja tabela treba voditi računa o tome da kolone u različitim tabelama mogu imati ista imena. Potrebno je obezbediti mehanizam koji će DBMS-u precizno specificirati kolonu koju želite da referencirate. U takvim situacijama se koristi sintaksa IME_TABELE.IME_KOLONE. U SQL upitima koji su dati u nastavku taj pristup je iskorišćen za kolone SEKTOR1.Broj i RADNIK1.Sektor mada nije bilo neophodno jer kolone imaju različita imena. Isti pristup treba primeniti i za klauzulu SELECT ukoliko se javi sličan problem.

SELECT *

FROM SEKTOR1, RADNIK1

WHERE SEKTOR1.Broj = RADNIK1.Sektor;

SELECT *

FROM SEKTOR1 INNER JOIN RADNIK1 ON SEKTOR1.Broj = RADNIK1.Sektor;

Page 8: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

1.2.3. Levi spoljašnji spoj (left-outer join)

Left-outer join u osnovi predstavlja prošireni inner-join. Ovaj tip spoja pred vrsta koje uključuje unutrašnji spoj  i vrste iz tabele A (leve tabele) koje nemaju odgovarajuću vrstu u tabeli B (desnoj tabeli). Kolone iz tabele B u ovom slučaju imaju vrednost NULL.

Primer 7

SELECT *

FROM SEKTOR1 LEFT OUTER JOIN RADNIK1 ON SEKTOR1.Broj = RADNIK1.Sektor;

1.2.4. Potpuni spoljašnji spoj (full-outer join)

Full outer join predstavlja kombinaciju rezultata koje vraćaju left outer i right outer join. Poptpuni spoljašnji spoj sadrži vrste iz obe tabele (i iz A i iz B) koje nemaju odgovarajuće slogove u drugoj tabeli.

Primer 9

MS Access ne podržava FULL OUTER JOIN sintaksu koja je korišćena u narednom SQL upitu.

SELECT *

FROM SEKTOR1 FULL OUTER JOIN RADNIK1 ON SEKTOR1.Broj = RADNIK1.Sektor;

Page 9: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

1.2.5. Primena

Primer 10

U nastavku je dat SQL upit koji prikazuje imena sektora i broj radnika koji rade u njima. Obratite pažnju da je kod ovog upita iskorišćena mogućnost da se tabelama dodele pseudonimi.

SELECT S.Broj, S.Naziv, COUNT(*) AS BrojR

FROM SEKTOR1 AS S INNER JOIN RADNIK1 AS R ON S.Broj=R.Sektor

GROUP BY S.Broj, S.Naziv;

 

Primer 11

Sledeći SQL upit za sve žene radnike određuje imena projekata na kojima su angažovane. Spajanje tabela u ovom upitu izvedeno je korišćenjem WHERE klauzule.

Obratite pažnju da WHERE klauzula pored uslova spoja može da sadrži i uslove kojima se selektuju vrste koje će ući u rezultujuću tabelu.

Takođe, obratite pažnju da sada podatke izvlačimo iz tri tabela: RADNIK, RADI_NA i PROJEKAT. Broj tabela iz kojih izvlačimo podatke nije ničim ograničen. Potrebno je voditi računa da spojevi između tabela budu definisani na odgovarajući način kako bi dobili željene podatke. Kako je već napomenuto spoj se najčešće definiše između spoljašnjeg ključa u jednoj tabeli i primarnog ključa koji se referencira u drugoj tabeli (RADI_NA.Radnik i

Page 10: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

RADNIK.MatBr, RADI_NA.Projekat i PROJEKAT.Broj). Za spajanje različitih tabela mogu se kombinovati različiti tipovi spoja.

SELECT R.MatBr, R.Ime, R.Prezime, P.Naziv

FROM RADNIK R, RADI_NA RN, PROJEKAT P

WHERE R.MatBr = RN.Radnik AND RN.Projekat = P.Broj AND R.Pol = "Ž";

 

Primer 12

Naredni SQL upit za svaki sektor daje ukupan broj radnih sati koje radnici provode na projektima za koje je taj sektor zadužen. MS Access zahteva da spojevi između tabela budu grupisani korišćenjem zagrada.

SELECT S.Broj, S.Naziv, SUM(Sati) AS SatiUkupno

FROM (SEKTOR AS S INNER JOIN PROJEKAT AS P ON S.Broj = P.Sektor)

INNER JOIN RADI_NA AS RN ON P.Broj = RN.Projekat

GROUP BY S.Broj, S.Naziv;

Page 11: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

1.3. Kombinovanje rezultata više SQL upita

Programski jezik SQL dozvoljava kombinovanje rezultata većeg broj SQL upita korišćenjem operacija za rad sa skupovima: unija (UNION), presek (INTERSECT) i razlika (MINUS).

Klauzula UNION kombinuje rezultate dva ili više upita u jednu rezultujuću tabelu. Rezultati upita koji se kombinuju moraju imati kolone koje se slažu po broju (isti broj kolona), redosledu (odgovarajuće kolone se nalaze na istim pozicijama) i tipu (odgovarajuće kolone moraju imati kompatibilne tipove).

Klauzula INTERSECT vraća samo vrste koje se javljaju u rezultujućim tabelama svih SQL upita koji se kombinuju.

Klauzula MINUS vraća samo one vrste koje se javljaju u rezultatu provg SQL upita ali se ne javljaju I u rezultatima ostalih SQL upita.

Primer 13

SQL upit u nastavku koristi klauzulu UNION da bi implementirao full-outer join koji nije podržan u MS Access-u.

SELECT *

FROM SEKTOR1 LEFT OUTER JOIN RADNIK1 ON SEKTOR1.Broj=RADNIK1.Sektor

UNION

SELECT *

FROM SEKTOR1 RIGHT OUTER JOIN RADNIK1 ON SEKTOR1.Broj=RADNIK1.Sektor;

Primer 14

U nastavku je dat SQL upit koji vraća nazive sektora u kojima rade radnici koji se prezivaju Petrović i Jovanović.

SELECT Naziv

FROM SEKTOR, RADNIK

WHERE Broj = Sektor AND Prezime = 'Jovanović'

UNION

SELECT Naziv

Page 12: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

FROM SEKTOR, RADNIK

WHERE Broj = Sektor AND Prezime = 'Petrović';

 

 Primer 15

U sledećem primeru imamo SQL upit koji korišćenjem klauzule INTERSECT određuje podatke o radnicima koji rade u sektoru Administracija i koji imaju platu veću od 40000. MS Access ne podržava klauzulu INTERSECT.

SELECT MatBr, Ime, Prezime

FROM SEKTOR, RADNIK

WHERE Broj = Sektor AND Naziv = 'Administracija'

INTERSECT

SELECT MatBr, Ime, Prezime

FROM SEKTOR, RADNIK

WHERE Broj = Sektor AND plata > 40000;

Primer 16

Ukoliko želimo da dobijemo podake o radnicima koji rade u sektoru Administracija a plata im je manja od 40000, upit iz prethodnog primera treba modifikovati tako da se umesto klauzule INTERSECT koristi klauzula MINUS. MS Access ne podržava klauzulu MINUS.

SELECT MatBr, Ime, Prezime FROM SEKTOR, RADNIK WHERE Broj = Sektor AND Naziv = 'Administracija' INTERSECT SELECT MatBr, Ime, Prezime FROM SEKTOR, RADNIK WHERE Broj = Sektor AND plata > 40000;

Page 13: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT
Page 14: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

1.4. Pitanja za samostalni rad

SQL upiti

Pokušajte da rešite niz zadataka koji je dat u nastavku. Za rešavanje koristite bazu podataka PREDUZEĆE koje je priložena uz ovaj materijal.

1. Napisati SQL upit koji za svaki broj sektora određuje broj projekata koji su zaduženi za taj sektor.

2. Napisati SQL upit koji za svaki broj sektora računa prosečnu i maksimalnu platu radnika koji rade u tom sektoru.

3. Napisati SQL upit koji za svaki tip srodstva određuje broj članova porodice koji imaju taj tip srodstva.

4. Napisati SQL upit koji određuje brojeve sektora koji su zaduženi za dva i više projekta.

5. Napisati SQL upit koji za svakog radnika prikazuje ime, prezime, pol i naziv sektora u kome rade.

6.  Napisati SQL upit koji za svaki projekat prikazuje njegov broj, naziv i broj angažovanih radnika.

7. Modifikovati upit iz zadatka 7 tako da se prikazuju samo podaci o projektima koji imaju više od jednog angažovanog radnika.

8. Napisati SQL upit koji prikazuje imena i prezimena radnika koji imaju više od jednog člana porodice.

9. Napisati SQL upit koji određuje imena i prezimena radnika koji rade u sektoru broj 4 i nemaju nijednog člana porodice.

10. Napisati SQL upit koji za svaki projekat određuje ime i prezime rukovodioca sektora koji je zadužen za taj projekat.

11. Napisati SQL upit koji određuje imena i prezimena radnika koji rade u sektoru broj a angažovani su na projektima koji su u nadležnosti sektora broj 5.

12. Napisati SQL upit koji određuje imena i prezimena radnika koji se ne nalaze na poziciji šef sektora.

Page 15: midusware.files.wordpress.com · Web viewCiljevi lekcije . Upoznati se sa mogućnostima SELECT naredbe za generisanje sumarnih informacija. Naučiti osnove korišćenja naredbe SELECT

1.5. Zadatak: Relacione baze podataka i SQL

Kao osnovu projekta potrebno je iskoristiti postojeću bazu podataka PREDUZEĆE (ova baza podataka je išla kao prateći materijal uz lekcije o SQL-u).

1.Preuzeti MS Access verziju baze podataka PREDUZEĆE

2.Kreirati tabelu GODISNJI_ODMORI. U ovoj tabeli se za svakog radnika pamte informacije kako je tokom godine koristio svoj godišnji odmor (matični broj radnika, godina u kojoj se godišnji odmor koristi, datum početka godišnjeg odmora, datum završetka godišnjeg odmora, broj radnih dana). Primarni ključ tabele su matični broj radnika i datum početka godišnjeg odomora.

3.Kreiranu tabelu povezati sa tabelom RADNIK

4.Kreiranu tabelu napuniti fiktivnim podacima

5.Napisati SQL upit koji prikazuje kompletan sadržaj tabele SEKTOR.

6.Modifikovati upit iz tačke 5 tako da se podaci sortiraju u opadajućem redosledu prema nazivu sektora.

7.Napisati SQL upit koji određuje imena i prezimena svih radnika čija bi plata nakon povećanja od 10% bila veća od 40000.

8.Napisati SQL upit koji za svaki broj sektora računa prosečnu i maksimalnu platu radnika koji rade u tom sektoru.

9.Napisati SQL upit koji za svaki projekat prikazuje njegov broj, naziv i broj angažovanih radnika