SlideShare a Scribd company logo
1 of 14
Učitavanje podataka
iz baze
Upiti nad jednom tabelom
SELECT
Pojednostavljena sintaksa
• SELECT kolone
FROM tabele
[WHERE uslovi]
[GROUP BY grupe
[HAVING uslovi_za_grupe]]
[ORDER BY kolone_za_sortiranje]
[LIMIT broj];
• Veliki broj neobaveznih klauzula (odredbi)
• Redosled navođenja klauzula se mora poštovati
Jednostavni upiti
• SELECT * FROM firma;
• Učitavaju se svi podaci iz zadate tabele – Vrednosti
iz svih kolona (*), za sve redove (nije navedena
klauzula WHERE) tabele firma
Učitavanje podataka iz određenih
kolona
• Umesto zvezdice mogu se zadati samo nazivi kolona
(razdvojeni zarezima) iz kojih su potrebni podaci
• Samo jedna kolona, nekoliko kolona tabele ili čak
sve kolone tabele poređane željenim redosledom
• SELECT jed_mere, naziv FROM proizvod;
• Učitavaju se samo vrednosti iz kolona jed_mere i
naziv za sve redove tabele proizvod
Alijasi
• Kolonama i tabelama u komandi SELECT mogu se
dodeliti drugačiji nazivi, koji će se prikazivati u
rezultatima
• SELECT naziv AS naziv_firme
FROM firma;
• Kolona naziv je preimenovana u naziv_firme, ali
samo u kontekstu ovog upita
Upotreba odredbe WHERE za
učitavanje samo određenih redova
• Često je potrebno da se iz jedne ili više tabela
učitaju samo redovi koji ispunjavaju određene
uslove
• SELECT naziv, adresa, telefon
FROM firma
WHERE mesto = 'Niš';
• Učitavaju se samo redovi koji u koloni mesto imaju
vrednost Niš i za iste se prikazuju samo podaci iz
kolona naziv, adresa i telefon
• Za sve firme iz Niša se prikazuju naziv, adresa i
telefon
Operatori koji se mogu koristiti u
okviru odredbe WHERE
• Jednakost, =, LIKE (za tekstualne tipove podataka;
džoker karakteri: % (zamenjuje bilo koji broj karaktera),
_ (zamenjuje jedan karakter))
• Nejednakost (različitost), != ili <>, NOT LIKE
• Poređenje, > (veće od), < (manje od), >= (veće ili jednako od) i
<= (manje ili jednako od)
• IS NULL ili IS NOT NULL, ispitivanje da li određena vrednost jeste
ili nije NULL
• Aritmetički operatori (+ - * /), koji se najčešće koriste u
kombinaciji sa operatorima za poređenje
• Standardni logički operatori AND, OR i NOT, koji se koriste za
povezivanje više uslova. Imaju niži prioritet od operatora za
poređenje. Primer: plata > 30000 AND plata < 50000.
• Standardni redosled prioriteta izračunavanja se može menjati uz
pomoć zagrada
Primer korišćenja operatora u
okviru odredbe WHERE
• SELECT * FROM faktura
WHERE ulaz_izlaz = '1' AND datum > '2006-10-23';
• Upit prikazuje podatke za sve ulazne fakture koje su
formirane posle 23. oktobra 2006. godine
• U odredbi WHERE nije dozvoljena upotreba alijasa za
kolone
Uklanjanje dupliranih vrednosti
• Iz kojih mesta su firme sa kojima se posluje?
• SELECT mesto FROM firma;
• Prikazane su sve vrednosti iz kolone mesto
tabele firma. Podatak Niš se pojavljuje dva puta.
• SELECT DISTINCT mesto FROM firma;
• Duplikati se ne pojavljuju
Upotreba odredbe GROUP BY
• Grupisanje učitanih redova
• Korisna samo kada se upotrebi u kombinaciji sa
agregatnim funkcijama: MIN(), MAX(), SUM(),
AVG(), COUNT(), …
• SELECT COUNT(*) AS broj_faktura, id_firme
FROM faktura
GROUP BY id_firme;
• Za svaku firmu se utvrđuje broj faktura
Izdvajanje određenih grupa
podataka pomoću opcije HAVING
• GROUP BY + HAVING je slično kao SELECT + WHERE
• SELECT id_fakture, SUM(kolicina * dan_cena) AS iznos
FROM stavke_fakture
GROUP BY id_fakture
HAVING SUM(kolicina * dan_cena) > 10000;
• Upit prikazuje sve fakture čiji je ukupan iznos veći od
10000
Sortiranje učitanih rezultata
• ORDER BY – Sortiranje rezultujućih redova po
vrednostima u jednoj ili više kolona
• Redosled sortiranja: rastući (ASC) (podrazumevani) ili
opadajući (DESC)
• SELECT *
FROM firma
ORDER BY mesto ASC, naziv DESC;
• Rezultati će biti sortirani rastuće po vrednostima u
koloni mesto, a ako postoje dve ili više firmi iz istog
mesta njihovi redovi će biti sortirani opadajuće po
nazivu firme
Ograničavanje broja redova
rezultata
• Odredba LIMIT
• SELECT *
FROM proizvod
LIMIT 3;
• Prikazuju se prva tri reda
• SELECT *
FROM proizvod
LIMIT 3, 3;
• Učitavaju se tri reda posle posle trećeg reda
(četvrti, peti i šesti red)
• Odredba LIMIT se najčešće koristi u kombinaciji sa
odredbom ORDER BY
Vežba
• Prikazati sve ulazne fakture, sortirane rastuće po
datumu. Za svaku fakturu prikazati podatke iz svih
kolona.
• Prikazati sve stavke na fakturama kod kojih je
količina veća od 50 ili cena veća od 150. Za svaku
stavku prikazati podatke iz kolona id_fakture i
id_proizvoda.
• Prikazati naziv i adresu za sve firme iz Beograda.
Rezultate sortirati rastuće po nazivu firme.

More Related Content

More from Milan Zdravković

More from Milan Zdravković (20)

Funding & Grants in Horizon Europe
Funding & Grants in Horizon EuropeFunding & Grants in Horizon Europe
Funding & Grants in Horizon Europe
 
Open Science in HORIZON Grant Agreement
Open Science in HORIZON Grant AgreementOpen Science in HORIZON Grant Agreement
Open Science in HORIZON Grant Agreement
 
EURAXESS Online Tools To Support Researcher Career Development
EURAXESS Online Tools To Support Researcher Career DevelopmentEURAXESS Online Tools To Support Researcher Career Development
EURAXESS Online Tools To Support Researcher Career Development
 
UPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaUPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesa
 
UPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesaUPRO05 - Automatizacija procesa
UPRO05 - Automatizacija procesa
 
Social media promotion
Social media promotionSocial media promotion
Social media promotion
 
UPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMNUPRO01 - Modeliranje poslovnih procesa i BPMN
UPRO01 - Modeliranje poslovnih procesa i BPMN
 
UPRO01 - Modeliranje poslovnih procesa
UPRO01 -  Modeliranje poslovnih procesaUPRO01 -  Modeliranje poslovnih procesa
UPRO01 - Modeliranje poslovnih procesa
 
UPRO00 - Uvod u BPM
UPRO00 - Uvod u BPMUPRO00 - Uvod u BPM
UPRO00 - Uvod u BPM
 
MEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjemMEZN00 - Uvod u upravljanje znanjem
MEZN00 - Uvod u upravljanje znanjem
 
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best PracticesPA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
PA Training Nov 5-6 Day 2 - Talk 2. Content Management Best Practices
 
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
PA Training Nov 5-6 Day 2 - Talk 1. Web Visibility, SEO elements in content c...
 
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updatesPA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
PA Training Nov 5-6 Day 1 - Talk 1. EURAXESS Portal updates
 
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issuesPA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
PA Training Nov 5-6 Day 1 - Talk 4. Compliance issues
 
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility CheckerPA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
PA Training Nov 5-6 Day 2 - Talk 3. Accessibility Checker
 
IT1 1.5 Analiza podataka
IT1 1.5 Analiza podatakaIT1 1.5 Analiza podataka
IT1 1.5 Analiza podataka
 
IT1 1.3 Internet pod haubom
IT1 1.3 Internet pod haubomIT1 1.3 Internet pod haubom
IT1 1.3 Internet pod haubom
 
IT1 1.1 Opis i metodologija kursa
IT1 1.1 Opis i metodologija kursaIT1 1.1 Opis i metodologija kursa
IT1 1.1 Opis i metodologija kursa
 
Online content management tips and tricks
Online content management tips and tricksOnline content management tips and tricks
Online content management tips and tricks
 
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWLMEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
MEZN05 - Jezici za reprezentaciju znanja na Webu – OWL
 

OKBP 4.2 Učitavanje podataka iz baze. Upiti nad jednom tabelom

  • 2. SELECT Pojednostavljena sintaksa • SELECT kolone FROM tabele [WHERE uslovi] [GROUP BY grupe [HAVING uslovi_za_grupe]] [ORDER BY kolone_za_sortiranje] [LIMIT broj]; • Veliki broj neobaveznih klauzula (odredbi) • Redosled navođenja klauzula se mora poštovati
  • 3. Jednostavni upiti • SELECT * FROM firma; • Učitavaju se svi podaci iz zadate tabele – Vrednosti iz svih kolona (*), za sve redove (nije navedena klauzula WHERE) tabele firma
  • 4. Učitavanje podataka iz određenih kolona • Umesto zvezdice mogu se zadati samo nazivi kolona (razdvojeni zarezima) iz kojih su potrebni podaci • Samo jedna kolona, nekoliko kolona tabele ili čak sve kolone tabele poređane željenim redosledom • SELECT jed_mere, naziv FROM proizvod; • Učitavaju se samo vrednosti iz kolona jed_mere i naziv za sve redove tabele proizvod
  • 5. Alijasi • Kolonama i tabelama u komandi SELECT mogu se dodeliti drugačiji nazivi, koji će se prikazivati u rezultatima • SELECT naziv AS naziv_firme FROM firma; • Kolona naziv je preimenovana u naziv_firme, ali samo u kontekstu ovog upita
  • 6. Upotreba odredbe WHERE za učitavanje samo određenih redova • Često je potrebno da se iz jedne ili više tabela učitaju samo redovi koji ispunjavaju određene uslove • SELECT naziv, adresa, telefon FROM firma WHERE mesto = 'Niš'; • Učitavaju se samo redovi koji u koloni mesto imaju vrednost Niš i za iste se prikazuju samo podaci iz kolona naziv, adresa i telefon • Za sve firme iz Niša se prikazuju naziv, adresa i telefon
  • 7. Operatori koji se mogu koristiti u okviru odredbe WHERE • Jednakost, =, LIKE (za tekstualne tipove podataka; džoker karakteri: % (zamenjuje bilo koji broj karaktera), _ (zamenjuje jedan karakter)) • Nejednakost (različitost), != ili <>, NOT LIKE • Poređenje, > (veće od), < (manje od), >= (veće ili jednako od) i <= (manje ili jednako od) • IS NULL ili IS NOT NULL, ispitivanje da li određena vrednost jeste ili nije NULL • Aritmetički operatori (+ - * /), koji se najčešće koriste u kombinaciji sa operatorima za poređenje • Standardni logički operatori AND, OR i NOT, koji se koriste za povezivanje više uslova. Imaju niži prioritet od operatora za poređenje. Primer: plata > 30000 AND plata < 50000. • Standardni redosled prioriteta izračunavanja se može menjati uz pomoć zagrada
  • 8. Primer korišćenja operatora u okviru odredbe WHERE • SELECT * FROM faktura WHERE ulaz_izlaz = '1' AND datum > '2006-10-23'; • Upit prikazuje podatke za sve ulazne fakture koje su formirane posle 23. oktobra 2006. godine • U odredbi WHERE nije dozvoljena upotreba alijasa za kolone
  • 9. Uklanjanje dupliranih vrednosti • Iz kojih mesta su firme sa kojima se posluje? • SELECT mesto FROM firma; • Prikazane su sve vrednosti iz kolone mesto tabele firma. Podatak Niš se pojavljuje dva puta. • SELECT DISTINCT mesto FROM firma; • Duplikati se ne pojavljuju
  • 10. Upotreba odredbe GROUP BY • Grupisanje učitanih redova • Korisna samo kada se upotrebi u kombinaciji sa agregatnim funkcijama: MIN(), MAX(), SUM(), AVG(), COUNT(), … • SELECT COUNT(*) AS broj_faktura, id_firme FROM faktura GROUP BY id_firme; • Za svaku firmu se utvrđuje broj faktura
  • 11. Izdvajanje određenih grupa podataka pomoću opcije HAVING • GROUP BY + HAVING je slično kao SELECT + WHERE • SELECT id_fakture, SUM(kolicina * dan_cena) AS iznos FROM stavke_fakture GROUP BY id_fakture HAVING SUM(kolicina * dan_cena) > 10000; • Upit prikazuje sve fakture čiji je ukupan iznos veći od 10000
  • 12. Sortiranje učitanih rezultata • ORDER BY – Sortiranje rezultujućih redova po vrednostima u jednoj ili više kolona • Redosled sortiranja: rastući (ASC) (podrazumevani) ili opadajući (DESC) • SELECT * FROM firma ORDER BY mesto ASC, naziv DESC; • Rezultati će biti sortirani rastuće po vrednostima u koloni mesto, a ako postoje dve ili više firmi iz istog mesta njihovi redovi će biti sortirani opadajuće po nazivu firme
  • 13. Ograničavanje broja redova rezultata • Odredba LIMIT • SELECT * FROM proizvod LIMIT 3; • Prikazuju se prva tri reda • SELECT * FROM proizvod LIMIT 3, 3; • Učitavaju se tri reda posle posle trećeg reda (četvrti, peti i šesti red) • Odredba LIMIT se najčešće koristi u kombinaciji sa odredbom ORDER BY
  • 14. Vežba • Prikazati sve ulazne fakture, sortirane rastuće po datumu. Za svaku fakturu prikazati podatke iz svih kolona. • Prikazati sve stavke na fakturama kod kojih je količina veća od 50 ili cena veća od 150. Za svaku stavku prikazati podatke iz kolona id_fakture i id_proizvoda. • Prikazati naziv i adresu za sve firme iz Beograda. Rezultate sortirati rastuće po nazivu firme.