SQL - PowerPoint PPT Presentation

About This Presentation
Title:

SQL

Description:

SQL Structured Query Language Strukturirani upitni jezik – PowerPoint PPT presentation

Number of Views:128
Avg rating:3.0/5.0
Slides: 78
Provided by: EF57
Category:
Tags: sql | spisak | studenata

less

Transcript and Presenter's Notes

Title: SQL


1
SQL 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).
3
SQL
1970.godina
Donald Cemberlen
Rejmond Bojs
IBM
SEQUEL- Structured English Query Language
4
SQL
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.
  • ...

8
SQL 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).
9
RDBMS (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.
10
Tabele
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.
11
RDBMS (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.
12
RDBMS (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
13
RDBMS 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
16
Možemo da pojednostavimo stvar, sredimo ovaj
nered...
17
... ako i analitiku prebacimo u skladište.
18
Business 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.
19
OPŠ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)

20
SQL 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.
21
SQL 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
22
SQL 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
23
Upiti
  • Najvažnije element SQL-a.
  • Vracaju podatke na osnovu odredenih kriterijuma

24
Sastavni deo UPITA su KLAUZULE
Klauzule
WHERE
FROM
HAVING
ORDER BY
GROUP BY
25
SQL 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.

26
1. 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
27
2. 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.

31
5. U meniju View odabrati SQL View.
32
6. 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
34
SELECT 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.
35
SELECT 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.
36
SELECT 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
37
SELECT 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
38
SELECT 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
39
SELECT 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
41
WHERE 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

43
Aritmeticki 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.

44
Operator 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.
45
Operator 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.
46
Operator 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.
47
Operatori 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

48
Operatori 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
49
Operator 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'
50
Operator 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'
51
Operator 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')
52
Operator 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'
53
Logicki 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'
54
Logicki 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'
55
ORDER 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
56
FUNKCIJE 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)

60
Funkcija 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'
61
Funkcija COUNT COUNT () funkcija vraca broj
slogova u tabeli. Sintaksa SELECT COUNT() FROM
ime_tabele Npr. Upit17 SELECT COUNT() AS
NumberOfOrders FROM Orders
62
Funkcija 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
Write a Comment
User Comments (0)
About PowerShow.com