Introduction to Programming

Слични документи
Upitni jezik SQL

UPITI NAD JEDNOM TABELOM 1. Izdvojiti šifre svih knjiga select K_SIF from K 2. Izdvojiti šifre knjiga iz tabele K uz imenovanje kolone select K_SIF as

01 SUBP

SQL Agregacija Jennifer Widom

Sveučilište u Zagrebu Fakultet prometnih znanosti Zavod za inteligentne transportne sustave Katedra za primijenjeno računarstvo Vježba: #7 Kolegij: Ba

Introduction to Programming

Baza fakultet sadrži 3 tabele: tabela studenti sadrzi informacije o studentima Njeni atributi su: indeks indeks studenta (primarni kljuc) ime ime stud

Introduction to Programming

Introduction to Programming

Microsoft PowerPoint - 6. Query Builder.pptx

SQL_zadaci sredjeni 2008 baze podataka

PHP proširenja za rad sa bazama podataka Postoje pojedinačna proširenja za različite tipove baza podataka sa svojim bibliotekama funkcija npr. postoji

Baza podataka

PROMENLJIVE, TIPOVI PROMENLJIVIH

Introduction to Programming

PowerPoint Presentation

Model podataka

03 SUBP

Grananje u programu predavač: Nadežda Jakšić

Informatika szerb nyelven emelt szint Javítási-értékelési útmutató 1312 ÉRETTSÉGI VIZSGA május 13. INFORMATIKA SZERB NYELVEN EMELT SZINTŰ GYAKOR

Microsoft Word - MySQL_3.doc

Baze podataka 1

PowerPoint Presentation

PDO

Р273 Пројектовање база података Примери питања за колоквијум 1. Навести најважније моделе података кроз историју рачунарства до данас. 2. Објаснити ос

Microsoft Word - 1.Operacije i zakoni operacija

Računarski praktikum I - Vježbe 11 - Funktori

1 jmbag ime i prezime Programiranje 2 prvi kolokvij, Rezultati i uvidi u kolokvije: Rezultati u petak, 3.5., navečer na webu, a uvidi u p

PowerPoint Presentation

Microsoft Word - примјер

8 LINQ upiti LINQ (Language Integrated Query upit integrisan u jezik) jeste skup mogućnosti koje jezik C# i Framework pružaju za pisanje strukturirani

Univerzitet u Novom Sadu Tehnički fakultet Mihajlo Pupin Zrenjanin Seminarski rad Predmet: Konkuretno programiranje doc. dr Dejan Lacmanovic Zorica Br

Smart Communicator Cover & Text

Logičke izjave i logičke funkcije

Microsoft Word - WP_kolokvij_2_rjesenja.doc

Tutoring System for Distance Learning of Java Programming Language

Mathcad - MCADMod MCD

PowerPoint Presentation

Microsoft PowerPoint - Pred12-13-DistribuiraneBP [Compatibility Mode]

CRNA GORA / MONTENEGRO

Algoritmi

Општи подаци Извештај о резултатима завршног испита на крају основног образовања и васпитања у школској 2017/2018. години Назив школе Место Општина Ра

Fakultet tehničkih nauka, Novi Sad Predmet: ISIBP

Kombinatorno testiranje

Tutoring System for Distance Learning of Java Programming Language

Slide 1

LJE Radio Bar d.o.o. Opština-Bar Ulica-Bulevar Dinastije Petrovića H14 Šifra djelatnosti Matični broj IZVJEŠTAJ O FINANSIJSKOM POSLOVAN

PROGRAMIRANJE Program je niz naredbi razumljivih računalu koje rješavaju neki problem. Algoritam je postupak raščlanjivanja problema na jednostavnije

PowerPoint Presentation

~ Методологија ~ ИНДЕКС ПРОМЕТА ИНДУСТРИЈЕ ПРАВНИ ОСНОВ Статистичка активност се спроводи у складу са Законом о статистици Републике Српске ( Службени

Рачунарска интелигенција

Tutoring System for Distance Learning of Java Programming Language

Dijagrami sekvenci

Microsoft Word - Rebalans budzeta 2013.doc

РЕПУБЛИКА СРБИЈА АУТОНОМНА ПОКРАЈИНА ВОЈВОДИНА ГРАДСКА УПРАВА ГРАД СОМБОР ОДЕЉЕЊЕ ЗА КОМУНАЛНЕ ДЕЛАТНОСТИ, ИМОВИНСКО-ПРАВНЕ И СТАМБЕНЕ ПОСЛОВЕ ЗАХТЕВ

Zakon o evidencijama u oblasti rada

Microsoft PowerPoint - DW_DS_ _4

УНИВЕРЗИТЕТ У КРАГУЈЕВЦУ ФАКУЛТЕТ МЕДИЦИНСКИХ НАУКА Ул. Светозара Марковића број 69. Крагујевац објављује О Б А В Е Ш Т Е Њ Е О ПРОДУЖЕЊУ РОКА ЗА УПИС

Microsoft PowerPoint - Bitovi [Compatibility Mode]

Inženjering informacionih sistema

ggmap

JUBMES BANKA

(Microsoft PowerPoint - 903_\216nidari\346_Java Persistence.pptx)

Programiranje 1 drugi kolokvij, 2. veljače Ime i prezime: JMBAG: Upute: Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i brisanje,

Програмирај!

Прва економска школа Београд РЕПУБЛИЧКО ТАКМИЧЕЊЕ ИЗ СТАТИСТИКЕ март године ОПШТЕ ИНФОРМАЦИЈЕ И УПУТСТВО ЗА РАД Укупан број такмичарских

Folie 1

ZAKON

Baze podataka

2015_k2_z12.dvi

Programski jezici i strukture podataka 2018/2019. Programski jezici i strukture podataka Računarske vežbe vežba 10 Zimski semestar 2018/2019. Studijsk

PRIIV VREDNA KRETANJA TUZLANSKOG KANTONA BB rrooj jj 2266 KANTONALNA PRIIVREDNA KOMORA TUZLA Avgustt Privredna kretanjaa u Bosni i Hercegovi

Microsoft Word - Zadaci za samostalno vjezbanje 4.doc

Database Programming with SQL kurs 2017 database design and programming with sql students slajdovi 17-1 Controlling User Access Davanje dozvole (grant

Република Србија МИНИСТАРСТВО ПРОСВЕТЕ, НАУКЕ И ТЕХНОЛОШКОГ РАЗВОЈА ЗАВОД ЗА ВРЕДНОВАЊЕ КВАЛИТЕТА ОБРАЗОВАЊА И ВАСПИТАЊА ТЕСТ МАТЕМАТИКА УПУТСТВО ЗА О

Microsoft Word - AIDA2kolokvijumRsmerResenja.doc

PRIIVREDNA KRETANJA TUZLANSKOG KANTONA BB rrooj jj 1144 KANTONALNA PRIIVREDNA KOMORA TUZLA FEBRUAR Privredna kretanja u Bosni i Hercegovini

Funkcije predavač: Nadežda Jakšić

Наставничко веће (среда) 2014 године У 18 и 30 часова "Нисмо ми ти који говоримо ријечи. Ријечи су те које говоре о нама." Иво Андрић

Uvod u računarstvo 2+2

Pregled sudova i državnih tužilaštava

Skripta za polaganje stručno-teorijskog predmeta Predmet: Baze podataka Pripremili: Leposava Dulović, JU Srednja elektro - ekonomska škola, Bijelo Pol

PowerPoint Presentation

SKRIPTE EKOF 2019/20 skripteekof.com Lekcija 1: Brojevni izrazi Lekcija 1: Brojevni izrazi Pregled lekcije U okviru ove lekcije imaćete priliku da nau

Računarski praktikum I - Vježbe 06 - Standard Template Library (2)

Извештај о резултатима завршног испита на крају основног образовања и васпитања у школској 2013/2014. години

Nastavni plan modelar/konstruktor Osnovna obuka za modelara/konstruktora odjevne konfekcije Stranica 1

АГЕНЦИЈА ЗА БАНКАРСТВО РЕПУБЛИКЕ СРПСКЕ УПУТСТВО ЗА ЕЛЕКТРОНСКО ДОСТАВЉАЊЕ ПОДАТАКА ИЗ ОБЛАСТИ РЕСТРУКТУРИРАЊА БАНАКА Бања Лука, јули године

Tutoring System for Distance Learning of Java Programming Language

PowerPoint Presentation

PowerPoint Presentation

Microsoft Word - finansijski administrator_zasnovanost kvalifikacije.doc

Uvod u PHP

Износ из претходне Износ текуће године Ознака Број Опис године ОП конта Исправка Нето (почетно стање) Бруто вредности (5 6) АКТИВА 1001

Računarske mreže Čas 2 Ivana Tanasijević Matematički fakultet, Beograd 1

Ознака ОП Број конта Опис Износ из претходне године АКТИВА НEФИНАНСИЈСКА ИМОВИНА ( ) (почетно стање) Бруто Износ тек

Верзија за штампу

Pamphlet Serbian: A Matter of Fairness, Une question d'équité

PRAVNIK U JAVNOM SEKTORU Časopis za budžetsko pravo TEMA BROJA NOVA ZAKONSKA REŠENJA U OBLASTI OBRAZOVANJA I VASPITANJA I VISOKOG OBRAZOVANJA TEMA NAR

Транскрипт:

SQL Podupiti

o Podupit je upit unutar upita Mogućnosti podupita o Ima zadatak da razloži komplesnu logiku o Mozemo da prikažemo podatke koje nam where klauzula ne bi dozvolila, to se pre svega odnosi na funkcije agregacije koje se primenjuju nad svim vrstama a koje nisu dozvoljene u where klauzuli. o Uz pomoć podupita, funkcije agregacije mozemo da sakrijemo u where klauzuli

o Podupiti se mogu navesti u SELECT, FROM i WHERE klauzuli. o Rezlutat podupita može biti konkretna vrednost (upit vraća samo jednu vrednost) o Podupit je povezan sa glavnim upitom jednim od relacionih operatora (=, >, <,!=, <=, >=) o Podupit može da vrati skup vrednosti i tada se koristi operator IN ili uz relacione operatore doda ključna reč ANY ili ALL (npr. =ALL ili >ALL ) o U podupitu se može koristiti operator EXISTS. o To je unarni logički operator Osobine podupita o Prikazaće vrednost ako pod upit izdvaja bar jedan slog i često se može zameniti operatorom IN

SQL Podupiti u WHERE klauzuli

Select A 1,A 2,,A n From R 1,R 2,,R m Where uslov Iskaz uključuje podupit : ugnježdeni u Select iskaz

UGNJEŽDENI UPITI U WHERE ISKAZU ODELJENJE <brod#, imeod, mesto, sefod$> UCESCE <idbr#, brproj#, brsati, funkcija> PROJEKAT <brproj#, imeproj, sredstva, rok> 1. Prikazati ime i posao svih radnika koji rade odeljenju Palilula SELECT ime, posao WHERE brod = (SELECT brod Podupit vraća samo jednu vrednost, broj odeljenja za odeljenje Palilula FROM ODELJENJE WHERE odeljnje = Palilula ) 2. Prikazati ime i posao svih radnika koji rade u Nisu SELECT ime, posao WHERE brod IN (SELECT brod Podupit vraća više vrednosti, brojeve odeljenja za odeljenja koja su u Nišu FROM ODELJENJE WHERE mesto = Nis )

UGNJEŽDENI UPITI U WHERE ISKAZU ODELJENJE <brod#, imeod, mesto, sefod$> UCESCE <idbr#, brproj#, brsati, funkcija> PROJEKAT <brproj#, imeproj, sredstva, rok> 3. Prikazati ime, posao i kvalifikaciju svih radnika koji imaju istu kvalifikaciju kao Mitar SELECT ime, posao, kvalif WHERE kvalif IN (SELECT kvalif WHERE ime = Mitar )

UGNJEŽDENI UPITI U WHERE ISKAZU ODELJENJE <brod#, imeod, mesto, sefod$> UCESCE <idbr#, brproj#, brsati, funkcija> PROJEKAT <brproj#, imeproj, sredstva, rok> 4. Prikazati ime, datum zaposlenja i posao zaposlenih koji imaju kvalifikaciju kao Marko i zaposleni su 2015. SELECT ime, datzap, posao WHERE kvalif IN (SELECT kvalif WHERE ime = Marko ) AND datzap BETWEEN 01/01/2015 AND 31/12/2015 YEAR(datzap)=2015

UGNJEŽDENI UPITI U WHERE ISKAZU ODELJENJE <brod#, imeod, mesto, sefod$> UCESCE <idbr#, brproj#, brsati, funkcija> PROJEKAT <brproj#, imeproj, sredstva, rok> 5. Prikazati ime, posao i ukupna primanja radnika koji rade u Nišu ne uzimajući u obzir upravnike i prodavce. Rezlutate sortirati po ukupnim primanjima u opadajućem redosledu SELECT ime, posao, plata + IFNULL(premija,0) as Ukupna primanja WHERE brod IN (SELECT brod FROM ODELJENJE WHERE mesto = Nis ) AND posao NOT IN ( upravnik, prodavac ) ORDER BY 3 DESC

UGNJEŽDENI UPITI U WHERE ISKAZU UCESCE <idbr#, brproj#, brsati, funkcija> 6. Prikazati ime I kvalifikaciju svih radnika koji rade na istim projektima kao i Marko SELECT ime, kvalif WHERE idbr IN (SELECT idbr FROM UCESCE WHERE brproj IN (SELECT brojproj FROM UCESCE WHERE idbr IN (SELECT idbr WHERE ime= Marko )));

UGNJEŽDENI UPITI U WHERE ISKAZU 7.Prikazati idbr, ime, platu i kvalifikaciju zaposlenih koji imaju istu platu kao bilo koji zaposleni čija je kvalifikacija VSS SELECT idbr, ime, platu, kvalif WHERE plata = ANY (SELECT plata WHERE kvalif = VSS ) AND kvalif <> VSS ; o Kada se koriste u podupitu, IN operator i = ANY imaju potpuno istu ulogu o ANY ključna reč uvek ide uz operator poređenja (=, >, <, <>, >=,<=,!=) o o o Vraća TRUE ukoliko je poređenje tačno za bilo koju vrednost koju podupit vraća NOT IN nije jednako sa <> ANY NOT IN je jednako sa <> ALL. Umesto ključne reči ANY može da se koristi i SOME koja je za razumevanje lakša od ANY

UGNJEŽDENI UPITI U WHERE ISKAZU 8. Prikazati idbr, ime, platu i kvalifikaciju zaposlenih koji imaju platu manju od svih zaposlenih čija je kvalifikacija VSS SELECT idbr, ime, platu, kvalif WHERE plata < ALL (SELECT plata WHERE kvalif = VSS ); o ALL ključna reč uvek ide uz operator poređenja (=, >, <, <>, >=,<=,!=) o Vraća TRUE ukoliko je poređenje tačno za sve vrednosti koje podupit vraća o NOT IN je jednako sa <> ALL. o Rezlutat je FALSE (unknown) ukoliko podupit sadrži NULL vrednost

UGNJEŽDENI UPITI U WHERE ISKAZU ODELJENJE <brod#, imeod, mesto, sefod$> 9. Prikazati sve podatke o odeljenjima u kojima ima zaposlenih radnika SELECT * FROM ODELJENJE WHERE EXISTS (SELECT * WHERE RADNIK.brod=ODELJENJE.brod); 10. Prikazati sve podatke o odeljenjima u kojima nema zaposlenih radnika SELECT * FROM ODELJENJE WHERE NOT EXISTS (SELECT * WHERE RADNIK.brod=ODELJENJE.brod);

UGNJEŽDENI UPITI U WHERE ISKAZU UCESCE <idbr#, brproj#, brsati, funkcija> 11. Prikazati sve podatke o zaposlenima koji rade na nekom projektu SELECT * WHERE EXISTS (SELECT * FROM UCESCE WHERE RADNIK.idbr=UCESCE.idbr);

UGNJEŽDENI UPITI + GRUPISANJE ODELJENJE <brod#, imeod, mesto, sefod$> 12. Prikazati imena odeljenja u kojima su ukupna primanja svih radnika u odeljenju veća od 10000 SELECT imeod FROM ODELJENJE WHERE brod IN (SELECT brod GROUP BY brod HAVING SUM( plata + IFNULL(premija,0)) > 10000

UGNJEŽDENI UPITI + GRUPISANJE + AGREGATNE FUNKCIJE 13. Prikazati ime i primanja svih zaposlenih čija su primanja veća od prosečnog primanja u preduzeću. SELECT ime, plata + IFNULL(premija,0) as Ukupna Primanja WHERE plata + IFNULL(premija,0) > (SELECT AVG(plata + IFNULL(premija,0) );

UGNJEŽDENI UPITI + GRUPISANJE + AGREGATNE FUNKCIJE ODELJENJE <brod#, imeod, mesto, sefod$> 14. Prikazati imena svih radnika čija su ukupna primanja manja od prosečnih primanja u odeljenju čije je sedište na Paliluli SELECT ime WHERE plata + IFNULL(premija,0) < (SELECT AVG(plata + IFNULL(premija,0) WHERE brod= (SELECT brod FROM ODELJENJE WHERE imeod= Palilula ));

UGNJEŽDENI UPITI + GRUPISANJE + AGREGATNE FUNKCIJE UCESCE <idbr#, brproj#, brsati, funkcija> 15. Prikazati ime, datum zaposlenja i primanja zaposlenih koji su angažovani na dva projekta. SELECT ime, datzap, plata + IFNULL(premija,0) WHERE idbr IN (SELECT idbr FROM UCESCE GROUP BY idbr HAVING count(*) = 2);

UGNJEŽDENI UPITI + GRUPISANJE + AGREGATNE FUNKCIJE 16. Ko su najbolje plaćeni radnici u celom preduzeću? SELECT idbr,ime,plata WHERE plata = (SELECT MAX(plata) ); 17. Ko su najbolje plaćeni radnici u svakom odeljenju? o o Spoljašnji i unutrašnji upit mogu biti povezani po vrednostima više atributa. U tom slučaju ako se upoređuju argumenti oba argumenta moraju imati jednaki broj atributa SELECT idbr,ime,plata,brod WHERE plata IN (SELECT MAX(plata) GROUP BY brod); SELECT idbr,ime,plata,brod WHERE (brod, plata) IN (SELECT brod, MAX(plata) GROUP BY brod);

UGNJEŽDENI UPITI + GRUPISANJE + AGREGATNE FUNKCIJE 18. Prikazati imena radnika koji su se poslednji zaposlili u svakom odeljenju? SELECT ime,datzap, brod WHERE datzap IN (SELECT MAX(datzap) GROUP BY brod);