Title: SQL
1SQL Structured Query Language
Strukturirani upitni jezik
2Šta je SQL?
SQL je standardni jezik za pristup i dobijanje
podataka iz relacionih baza podataka. SQL je
standardizovan od strane ANSI (American National
Standards Institute).
3SQL
1970.godina
Donald Cemberlen
Rejmond Bojs
IBM
SEQUEL- Structured English Query Language
4SQL
Neke implementacije SQL-a razvijene su za
upotrebu na PC-ju i jednostavne su za upotrebu,
druge su prilagodene za rad sa veoma velikim
bazama podataka.
5 Osnovne karakteristike SQL-a
1.) jednostavnost 2.) uniformnost 3.)
neproceduralnost
Jednostavnost se odnosi na to da se relacije
kreiraju jednom naredbom i odmah su dostupne za
korišcenje.
Uniformnost - svi podaci i rezultati operacija se
prikazuju u vidu tabela.
Neproceduralnost - korisnik odreduje koje podatke
treba uneti, prikazati ili ukloniti, a ne kako da
se izvede operacija nad podacima.
6? SQL (Structured Query Language) je programski
jezik namenjen za upravljanje podacima u
relacionim sistemima za upravljanje bazama
podataka.
SQL obuhvata
unos podataka
ažuriranje i brisanje podataka
šeme kreiranja i menjanja
kontrolu pristupa
7Šta može SQL da uradi?
- Da izvrš?v? upit? n?d b?zom p?dat?k?.
- Da pr?uzm? p?d?tk? iz b?z? p?d?t?k?.
- Da umetne zapise u bazu podataka.
- Da ažurira zapise u bazi podataka.
- Da izbriše zapise iz baze podataka.
- Da kreira novu bazu podataka.
- Da kreira novu tabelu u bazi podataka.
- Da kreira prikaze u bazi podataka.
- ...
8SQL je standard ali ....
Iako je SQL standardizovan od strane ANSI
(American National Standards Institute), postoji
mnogo razlicitih verzija SQL jezika. Medutim,
da bi bila u skladu sa ANSI standardom, svaka
verzija mora na slican nacin da podržava barem
glavne naredbe (kao što su SELECT, UPDATE,
DELETE, INSERT, WHERE).
9RDBMS (Relational Database Management
System) SISTEM ZA UPR?VLJANJE R?LACIONIM BAZ?M?
PODAT?K?
Podaci u RDBMS-u se cuv?ju u ?b??ktima baze
podataka koji se n?zivaju tabele. Tabel?
predstavlja kolekciju sr?dnih podataka i sastoji
se od kolona i redova.
10Tabele
Baza podataka sadrži jednu ili više tabela.
Svaka tabela se identifikuje po imenu (npr.
"Kupci" ili "Prodavci"). Tabele sadrže zapise
(redove) sa podacima.
11RDBMS (Relational Database Management
System) SISTEM ZA UPR?VLJANJE R?LACIONIM BAZ?M?
PODAT?K?
RDBMS je osnova za SQL i za sve moderne baze
podataka kao što su MS SQL Server, IBM DB2,
Oracle, MySQL, Sybase i Microsoft Access.
12RDBMS (Relational Database Management
System) SISTEM ZA UPR?VLJANJE R?LACIONIM BAZ?M?
PODAT?K? TOP 5
1. Oracle 2. SQL
Server 3. DB2
4. Sybase
5. MySQL
13RDBMS TOP 5
- Oracle Database - poslednja dostupna varijanta
12c. - 2. MS SQL Server - clan Microsoftove porodice,
inicijalno razvijen kao konkurencija Oracle-u i
IBM-u. - Poslednja verzija SQL Server 2012.
- 3. IBM DB2 - Poslednja verzija 10.5.
- 4. Sybase - Poslednja verzija 15.7. Od maja 2010.
deo kompanije SAP (za 5,8 milijardi dolara). - 5. MySql - Deo Oracle porodice od Januara 2010.
Do nedavno besplatan. Sadašnja cena je od 2.000
do 30.000. Postoje neke besplatne varijante i
sada. - Poslednja verzija 5.7.
-
14- POSLOVNA INTELIGENCIJA
- Rast podataka nadmašuje mogucnosti korisnika da
analizira, interpretira, razume i vizuelizuje
podatke, te da im da adekvatan smisao. - U uslovima velike raspoloživosti podataka sve je
veca divergencija raspoloživih podataka i
informacija potrebnih za donošenje adekvatnih
odluka. - Zateceni brojnošcu izvora podataka, savremeni
menadžeri i istraživaci sve više vremena troše na
izbor relevantnih informacija.
15 Ogromno povecanje broja podataka dovelo
je do prevazidenosti tradicionalna rešenja
16Možemo da pojednostavimo stvar, sredimo ovaj
nered...
17... ako i analitiku prebacimo u skladište.
18Business Intelligence
Radi se o kategoriji informacione tehnologije
koja korisnicima u poslovanju omogucava
pristupanje, analizu i korišcenje podataka (Data
Warehouse) u cilju sticanja neophodnih
informacija za adekvatno odlucivanje i
upravljanje, kao i o aplikativnim programima
kojima se podržava odlucivanje, postavljaju upiti
i formiraju izveštaji, vrši online analiticka
obrada (OLAP), zatim statisticke analize, Data
Mining, predvidanje itd.
19OPŠTA SINTAKSNA PRAVILA
- Sintaksa SQL-a je prilicno fleksibilna, mada
postoje pravila kojih se treba pridržavati, kao i
u svakom drugom programskom jeziku - komande SQL-a se mogu pisati i velikim i malim
slovima - logicki se komponente odvajaju zarezom
- bitno je kakvim slovima su zapisani podaci koji
su u bazi podataka - unosi se tacka-zarez na kraju iskaza (ovaj
interpunkcijski znak govori SQL programu da je
upit završen)
20SQL naredbe Da li zarez iza naredbe?
Neki upravljacki sistemi za upravljanje bazom
podataka zahtevaju zarez na kraju svake SQL
naredbe. Zarez je standardni nacin za odvajanje
SQL naredbi u sistemima za upravljanje bazama
podataka koji dopuštaju izvršavanje više od
jednog SQL iskaza u istom pozivu servera. Kada
koristimo MS Access ili SQL Server 2012 ne moramo
da stavimo zarez iza svake SQL naredbe.
21SQL DML i DDL
SQL se može podeliti u dva dela - Jezik za
manipulaciju podacima (DML - The Data
Manipulation Language) i - Jezik za definisanje
podataka (DDL - The Data Definition Language
(DDL). Najvažnije DML komande SELECT za
odabir podataka iz baze podataka UPDATE za
ažuriranje podataka u bazi podataka DELETE za
brisanje podataka iz baze podataka INSERT INTO
za umetanje novih podataka u bazu podataka
22SQL DML i DDL
Najvažnije DDL naredbe CREATE DATABASE za
kreiranje nove baze podataka ALTER DATABASE za
modifikovanje baze podataka CREATE TABLE za
kreiranje nove tabele ALTER TABLE za
modifikovanje tabele DROP TABLE za brisanje
tabele CREATE INDEX za kreiranje indeksa DROP
INDEX za brisanje indeksa
23Upiti
- Najvažnije element SQL-a.
- Vracaju podatke na osnovu odredenih kriterijuma
24Sastavni deo UPITA su KLAUZULE
Klauzule
WHERE
FROM
HAVING
ORDER BY
GROUP BY
25SQL naredbe
- Vecina akcija nad bazom podataka izvode se
pomocu SQL naredbe. - Najcešce se koristi naredba SELECT.
- SELECT naredbom nalaže se preuzimanje podatke iz
jedne ili više tabela. - Upit sadrži spisak kolona koje ce biti ukljucene
u konacni rezultat odmah nakon SELECT. - Zvezdica () se takode može koristiti kada upit
treba da upit vrati sve kolone izvorne tabele.
261. Primer SELECT naredbe
1.) Hocemo da iz tabele Studenti dobijemo spisak
svih studenata koji imaju prosecnu ocenu vecu od
8,5 i želimo da budu sortirani po
prezimenu. SELECT FROM Studenti WHERE Prosecna
ocenagt8.5 ORDER BY Studenti.Prezime
Zvezdica ukazuje da ce biti prikazani sve kolone
iz tabele Studenti
272. Primer SELECT naredbe
2.) Ako želimo da dodamo novog studenta,
koristimo naredbu INSERT INTO INSERT INTO
Studenti (Ime, Prezime, ProsecnaOcena)
VALUES (Petar', 'Petrovic', 8.85)
28 SQL naredbe Na primer, sledeca SQL naredba ce
izdvojiti sve zapise iz tabele Customers" The
following SQL statement selects all the records
in the "Customers" table SELECT FROM
Customers (alternativno iz tabele
Persons" SELECT FROM Persons
)
29 30- Primer. Prikazati sve podatke iz tabele
Persons. - U bazi podataka SQL W3Schools odabrati Queries.
- Kliknuti na New a zatim na Design View.
- Odabrati tabelu Persons.
- Kliknuti na dugme Add, zatim na Close.
315. U meniju View odabrati SQL View.
326. Upisati iskaz SELECT from Persons 7. U
meniju Query odabrati Run. Pojavice se tražena
tabela.
33 Rezultat ovog iskaza je prikaz svih naziva polja
i podataka unutar tabele Persons. (upit U1)
1
34SELECT naredba Naredba SELECT koristi se da se
odaberu podaci iz baze podataka. Rezultat se
smešta u rezultujucu tabelu. U najjednostavnijem
obliku, naredba SELECT odabira kolone iz jedne
tabele. Može se uzeti jedna kolona, više kolona
ili sve kolone iz tabele.
35SELECT naredba Sintaksa SELECT naziv_kolone
(ili kolona) FROM naziv_tabele SELECT FROM
naziv_tabele SELECT ukazuje na spisak kolona
koje treba da se prikažu, a FROM odreduje tabelu
iz koje treba uzeti kolone.
36SELECT naredba SELECT kolone FROM
tabele JOIN spajanja WHERE
uslov_za_pretraživanje GROUP BY
kolone_za_grupisanje HAVING
uslov_za_pretraživanje ORDER BY
kolone_za_sortiranje
37SELECT naredba Zvezdica () u SELECT , govori
bazi podataka da vrati informacije iz svih kolona
tabele koja je navedena u FROM klauzuli. Prethodn
i primer SQL iskaza koristi da bi se izabrale
sve kolone iz tabele, medutim, ukoliko želimo da
prikažemo samo neke kolone, ili promenimo
redosled njihovog prikaza, tada koristimo
iskaz SELECT naziv_kolone (ili kolona) FROM
naziv_tabele
38SELECT naredba npr. Upit U2 Napraviti upit koji
ce prikazati kolone CustomerName i City iz tabele
Customers. SELECT Column Example The following
SQL statement selects the "CustomerName" and
"City" columns from the "Customers" table C
SELECT CustomerName,City FROM Customers
39SELECT naredba Alternativno Upit U2 Napraviti
upit koji ce prikazati kolone LastName i
FirstName iz tabele Persons. SELECT LastName,
FirstName FROM Persons
40 SELECT DISTINCT naredba Naredba za eliminisanje
duplikata. Ukoliko želimo da prikažemo razlicite
vrednosti iz kolone. Sintaksa SELECT DISTINCT
naziv_kolone(ili kolona)FROM naziv_tabele npr.
Upit U3 SELECT DISTINCT City FROM Customers
Alternativno SELECT DISTINCT City FROM
Persons
41WHERE klauzula Ukoliko je potrebno pronaci
odredeni objekat ili grupu objekata u bazi
podataka, potreban je jedan ili više uslova.
Uslovi se navode u WHERE klauzuli. Sintaksa
WHERE klauzule je WHERE ltuslov
pretrazivanjagt SELECT naziv_kolone (ili kolona)
FROM naziv_tabeleWHERE naziv_kolone operator
vrednost Primer uslova Upit U4 SELECT FROM
CustomersWHERE Country'Mexico' SELECT FROM
Persons WHERE City'Sandnes'
42- OPERATORI
- Operatori su elementi koji se koriste za
izražavanje uslova pod kojima se pretražuju
podaci. Operatori se dele po sledecim grupama - aritmeticki
- operatori poredenja
- operatori za znakove (stringove)
- logicki
43Aritmeticki operatori
- Aritmeticki operatori su
- operator sabiranja (), oduzimanja (-), deljenja
(/), množenja () - Operator sabiranja
- iskazom
- SELECT naziv_kolone, naziv_kolone0.15 FROM
naziv tabele - dobija se prikaz kolone naziv_kolone i kolone
naziv_kolone uvecan za 0.15.
44Operator oduzimanja Iskazom SELECT
naziv_kolone1, naziv_kolone2,
(naziv_kolone1-naziv_kolone2)
FROM naziv_tabele dobija se prikaz kolona
naziv_kolone1,naziv_kolone2, kao i kolone
koja racuna njihovu razliku.
45Operator deljenja Iskazom SELECT
naziv_kolone1, naziv_kolone2,
(naziv_kolone2/2) FROM naziv tabele dobija
se prikaz kolona naziv_kolone1,naziv_kolone2,
kao i kolone koja racuna vrednosti iz
naziv_kolone2 podeljene sa 2.
46Operator množenja Iskazom SELECT
naziv_kolone1, naziv_kolone2,
(naziv_kolone20.9) FROM naziv tabele dobija
se prikaz kolona naziv_kolone1,naziv_kolone2,
kao i kolone koja racuna vrednosti iz kolone
naziv_kolone2 pomnožene sa 0.9.
47Operatori poredenja
OPERATOR OPIS
JEDNAKO
ltgt NIJE JEDNAKO
gt VECE
lt MANJE
gt VECE ILI JEDNAKO
lt MANJE ILI JEDNAKO
BETWEEN IZMEÐU GRANICA OPSEGA (UKLJUCUJUCI GRANICE)
LIKE PRETRAGA PO UZORKU
IN DOZVOLJAVA NAVOÐENJE VIŠE VREDNOSTI U KLAUZULI WHERE
48Operatori za stringove
Operator LIKE koristi se za pretragu kolone po
odredenom uzorku. Sintaksa SELECT
nazov_kolone(ili kolona)FROM naziv_tabeleWHERE
naziv_kolone LIKE uzorak
49Operator LIKE
npr. Upit U5 SELECT FROM Customers WHERE City
LIKE 's' - džoker znak (zamenjuje nijedan,
jedan ili više znakova) Napomena U MS Access-u
to je npr. Upit U6 SELECT FROM Customers
WHERE City LIKE 's npr. Upit U7 SELECT
FROM Customers WHERE Country LIKE 'land'
50Operator LIKE
npr. Upit U5 SELECT FROM Persons WHERE City
LIKE 's' - džoker znak (zamenjuje nijedan,
jedan ili više znakova) Napomena U MS Access-u
to je npr. Upit U6 SELECT FROM Persons
WHERE City LIKE 's' npr. Upit U7 SELECT
FROM Persons WHERE City LIKE 's'
51Operator IN
Sintaksa SELECT naziv_kolone(ili kolona)FROM
naziv_tabeleWHERE naziv_kolone IN
(vrednost1,vrednost2,...) npr. Upit U8 SELECT
FROM CustomersWHERE City IN ('Paris','London')
SELECT FROM Persons WHERE LastName IN
('Hansen','Pettersen')
52Operator BETWEEN
Sintaksa SELECT naziv_kolone (ili kolona) FROM
naziv_tabeleWHERE naziv_kolone BETWEEN vrednost1
AND vrednost2 napomena Operator BETWEEN se
razlicito ponaša u razlicitim bazama podataka.
npr. Upit U9 SELECT FROM ProductsWHERE
Price BETWEEN 10 AND 20 SELECT FROM Persons
WHERE LastNameBETWEEN 'Hansen' AND 'Pettersen'
53Logicki operatori
Logicki operatori odvajaju dva ili više uslova u
WHERE klauzuli SQL iskaza.
Operator AND Ovaj operator zahteva da izrazi sa
obe strane operatora moraju biti tacni. Ukoliko
je neki od izraza netacan, rezultat je takode
netacan. npr. Upit U10 SELECT FROM
CustomersWHERE Country'Germany'AND
City'Berlin' SELECT FROM Persons WHERE
FirstName'Tove'AND LastName'Svendson'
54Logicki operatori
Operator OR Kod ovog operatora, ukoliko bilo koji
od uslova poredenja vraca kao rezultat vrednost
tacno (TRUE), rezultat operatora OR je tacan
(TRUE). npr. Upit U11 SELECT FROM
CustomersWHERE City'Berlin'OR City'München'
SELECT FROM Persons WHERE FirstName'Tove'OR
FirstName'Ola'
55ORDER BY kljucna rec
Koristi se za sortiranje rezultujuce
tabele. Sintaksa SELECT naziv_kolone (ili
kolona) FROM naziv_tabeleORDER BY naziv kolone
(ili kolona) ASCDESC npr. Upit U12 SELECT
FROM Customers ORDER BY Country SELECT FROM
Persons ORDER BY LastName npr. Upit
U13 SELECT FROM Customers ORDER BY Country
DESC SELECT FROM Persons ORDER BY LastName
DESC
56FUNKCIJE U SQL-u
- Vrste funkcija
- agregatne funkcije
- funkcije za datum i vreme
- aritmeticke funkcije
- funkcije za rad sa karakterima
57 AGREGATNE FUNKCIJE Ove funkcije se nazivaju još
i funkcijama grupe. Kao rezultat daju vrednost
baziranu na vrednostima iz kolone. Prvih pet
agregatnih funkcija COUNT, SUM, AVG, MAX i MIN
definisane su ANSI (American National Standards
Institute) standardom. Vecina implementacija
(programi u kojima se koristi) SQL-a ima
proširenja ovih agregatnih funkcija.
58- Funkcija AVG
- Izracunava srednju vrednost odabrane numericke
kolone. - Sintaksa
- SELECT AVG(ime_kolone) FROM ime_tabele
- Npr. Upit14.
- SELECT AVG(Price) AS PriceAverage FROM Products
- SELECT AVG(OrderPrice) AS OrderAverage FROM
Orders
59- Funkcija AVG
- Izracunava srednju vrednost odabrane numericke
kolone. - Sintaksa
- SELECT AVG(ime_kolone) FROM ime_tabele
- Npr. Upit15.
- SELECT ProductName, Price FROM ProductsWHERE
Pricegt(SELECT AVG(Price) FROM Products) - SELECT Customer FROM OrdersWHERE
OrderPricegt(SELECT AVG(OrderPrice) FROM Orders)
60Funkcija COUNT Funkcija COUNT vraca broj
vrednosti (NULL vrednosti nece se racunati)
navedene kolone. Sintaksa SELECT
COUNT(ime_kolone) FROM ime_tabele Npr.
Upit16 SELECT COUNT(CustomerID) AS
OrdersFromCustomerID7 FROM OrdersWHERE
CustomerID7 SELECT COUNT(Customer) AS
CustomerNilsen FROM Orders WHERE
Customer'Nilsen'
61Funkcija COUNT COUNT () funkcija vraca broj
slogova u tabeli. Sintaksa SELECT COUNT() FROM
ime_tabele Npr. Upit17 SELECT COUNT() AS
NumberOfOrders FROM Orders
62Funkcija SUM Kao rezultat vraca zbir svih
vrednosti iz kolone. Argumenti funkcije Sum mogu
biti samo numericki podaci. Ukoliko se pokuša sa
podacima koji nisu numericki, dobice se poruka o
grešci. Sintaksa SELECT SUM(ime_kolone) FROM
ime_tabele Npr. Upit18 SELECT SUM(Quantity) AS
TotalItemsOrdered FROM OrderDetails SELECT
SUM(OrderPrice) AS OrderTotal FROM Orders
63- Funkcija MAX
- Vraca najvecu vrednost u okviru odabrane kolone.
- Sintaksa
- SELECT MAX(ime_kolone) FROM ime_tabele
- Npr. Upit19
- SELECT MAX(Price) AS HighestPrice FROM Products
- SELECT MAX(OrderPrice) AS LargestOrderPrice FROM
Orders
64- Funkcija MIN
- Vraca najmanju vrednost u okviru odabrane
kolone. - Sintaksa
- SELECT MIN(ime_kolone) FROM ime_tabele
- Npr. Upit20
- SELECT MIN(Price) AS SmallestOrderPrice
- FROM Products
- SELECT MIN(OrderPrice) AS SmallestOrderPrice FROM
Orders
65 GROUP BY naredba Naredba GROUP BY se koristi u
sprezi s agregatnim funkcijama za grupisanje u
okviru jedne ili više kolona u rezultujucoj
tabeli. Sintaksa SELECT naziv_kolone,
agregatna_funkcija(naziv_kolone)FROM
naziv_tabeleWHERE naziv_kolone operator
vrednostGROUP BY naziv_kolone Npr.
Upit21 SELECT ProductID, SUM(Quantity) FROM
OrderDetails Group By ProductID
66 GROUP BY naredba Sintaksa SELECT
naziv_kolone, agregatna_funkcija(naziv_kolone)FRO
M naziv_tabeleWHERE naziv_kolone operator
vrednostGROUP BY naziv_kolone Npr.
Upit21a SELECT ProductID, SUM(Quantity) FROM
OrderDetails WHERE Quantity gt 70 Group By
ProductID
67 HAVING klauzula HAVING klauzula je ugradena u
SQL jer kljucna rec WHERE ne mož? da s? koristi
?a agreg?tnim funkcijama. Sintaksa SELECT
naziv_kolone, agregatna_funkcija(naziv_kolone)FRO
M naziv_tabeleWHERE naziv_kolone operator
vrednostGROUP BY naziv_koloneHAVING
agregatna_funkcija(naziv_kolone) operator
vrednost
68 HAVING klauzula Npr. Upit22 SELECT ProductID,
SUM(Quantity) FROM OrderDetails Group By
ProductID Having SUM(Quantity)gt100 Npr.
Upit23 SELECT ProductID, SUM(Quantity) FROM
OrderDetails WHERE Quantity gt 70 Group By
ProductID Having SUM(Quantity)gt100
69 INNER JOIN kljucna rec Formira tabelu koja se
sastoji od kolona iz dve tabele, na osnovu odnosa
izmedu pojedinih kolona u ovim tabelama.
Sintaksa SELECT naziv_kolone(ili kolona) FROM
naziv_tabele1INNER JOIN naziv_tabele2 ON
naziv_tabele1.naziv_kolonenaziv_tabele2.naziv_kol
one Npr. Upit24 SELECT Customers.CustomerName,
Orders.OrderIDFROM CustomersINNER JOIN
OrdersON Customers.CustomerIDOrders.CustomerIDO
RDER BY Customers.CustomerName
70 UNION Operator UNION operator se koristi za
formiranje rezultujuce tabele kombinovanjem dva
ili više SELECT iskaza. Napomenasvaki SELECT
iskaz unutar UNION-a mora imati isti broj kolona.
Kolone moraju moraju imati isti tip podataka.
Takode, kolone u svakom SELECT iskazu moraju biti
u istom redosledu. UNION operator odabira samo
razlicite vrednosti. Ako je potrebno omoguciti
dvostruke vrednosti, koristiti se UNION
ALL Sintaksa SELECT naziv_kolone(a) FROM
naziv_tabele1UNION SELECT ime_kolone(a) FROM
naziv_tabele2
71 UNION Operator Npr. Upit25 SELECT City FROM
CustomersUNIONSELECT City FROM SuppliersORDER
BY City
72 UNION ALL Operator Sintaksa SELECT
naziv_kolone(a) FROM naziv_tabele1UNION ALL
SELECT naziv_kolone(a)
FROM naziv_tabele2 Npr. Upit26 SELECT City
FROM CustomersUNION ALLSELECT City FROM
SuppliersORDER BY City
73 UNION ALL sa Where Sintaksa Npr.
Upit27 SELECT City, Country FROM CustomersWHERE
Country'Germany'UNION ALLSELECT City, Country
FROM SuppliersWHERE Country'Germany'ORDER BY
City
74 GROUP BY i JOIN Naredba GROUP BY se koristi u
sprezi s agregatnim funkcijama za grupisanje u
okviru jedne ili više kolona u rezultujucoj
tabeli. Sintaksa SELECT naziv_kolone,
agregatna_funkcija(naziv_kolone)FROM
naziv_tabeleWHERE naziv_kolone operator
vrednostGROUP BY naziv_kolone
75 GROUP BY i JOIN Sintaksa SELECT
naziv_kolone, agregatna_funkcija(naziv_kolone)FRO
M naziv_tabeleWHERE naziv_kolone operator
vrednostGROUP BY naziv_kolone Upit 29
Prebrojati porudžbenice po prevoziocima SELECT
Shippers.ShipperName,COUNT(Orders.OrderID) AS
NumberOfOrders FROM OrdersLEFT JOIN ShippersON
Orders.ShipperIDShippers.ShipperIDGROUP BY
ShipperName
76 HAVING i INNER JOIN Npr. Upit29 Napraviti SQL
upit gde ce biti prikazana imena zaposlenih i
broj njihovih porudžbenica, pod uslovom da je taj
broj veci od 10. SELECT Employees.LastName,
COUNT(Orders.OrderID) AS NumberOfOrders FROM
(OrdersINNER JOIN EmployeesON
Orders.EmployeeIDEmployees.EmployeeID)GROUP BY
LastNameHAVING COUNT(Orders.OrderID) gt 10
77 HAVING i INNER JOIN Npr. Upit 30 Napraviti SQL
upit da li zaposleni Davolio ili Fuller imaju
više od 25 narudžbenica. SELECT
Employees.LastName, COUNT(Orders.OrderID) AS
NumberOfOrders FROM (OrdersINNER JOIN
EmployeesON Orders.EmployeeIDEmployees.EmployeeI
D)WHERE LastName'Davolio' OR LastName'Fuller'G
ROUP BY LastNameHAVING COUNT(Orders.OrderID) gt
25