SQL Structured Query Language Strukturirani upitni jezik ta
- Slides: 75
SQL Structured Query Language Strukturirani upitni jezik
Šta je SQL? SQL je standardizovan programski jezik namenjen za upravljanje podacima u relacionim bazama podataka. SQL je standardizovan od strane ANSI (American National Standards Institute).
SQL 1970. Donald Čemberlen Rejmond Bojs (Donald Chamberline) (Reymond Boyce) IBM SEQUEL- Structured English Query Language
SQL implementacije Neke implementacije SQL-a razvijene su za upotrebu na PC-ju i jednostavne su za upotrebu, druge su prilagođene za rad sa veoma velikim bazama podataka.
OSNOVNE KARAKTERISTIKE SQL-a 1. ) jednostavnost 2. ) uniformnost 3. ) neproceduralnost
Osnovne karakteristike SQL-a Jednostavnost se odnosi na to da se relacije kreiraju jednom naredbom i odmah su dostupne za korišćenje. Uniformnost - svi podaci i rezultati operacija se prikazuju u vidu tabela. Neproceduralnost - korisnik određuje koje podatke treba uneti, prikazati ili ukloniti, a ne kako da se izvede operacija nad podacima.
SQL standardi v Iako je SQL standardizovan od strane ANSI (American National Standards Institute), postoji mnogo različitih verzija SQL jezika. v Da bi bila u skladu sa ANSI standardom, svaka verzija mora na sličan način da podržava barem glavne naredbe (kao što su SELECT, UPDATE, DELETE, INSERT, WHERE).
OPŠTA SINTAKSNA PRAVILA Sintaksa SQL-a je prilično fleksibilna, mada postoje pravila kojih se treba pridržavati, kao i u svakom drugom programskom jeziku: Ø komande se mogu pisati i velikim i malim slovima Ø logički se komponente odvajaju zarezom Øbitno je kakvim slovima su zapisani podaci koji su u bazi podataka Øunosi se tačka-zarez na kraju iskaza (ovaj znak govori SQL programu da je upit završen)
Upiti Ø Upiti mogu da izvršavaju različite funkcije u bazi podataka. ØNjihova najčešća funkcija jeste da preuzimaju određene podatke iz tabela.
SQL naredbe v Većina akcija nad bazom podataka izvode se pomoću SQL naredbe.
SELECT naredba v Najčešće se koristi naredba SELECT. v Naredba SELECT koristi se da se odaberu podaci iz baze podataka (iz jedne ili više tabela). Rezultat se smešta u rezultujuću tabelu.
SELECT naredba SELECT ukazuje na spisak kolona koje treba da se prikažu, a FROM određuje tabelu iz koje treba uzeti kolone. Ako želite da izaberete sva polja koja su dostupna u tabeli, koristite sledec u sintaksu:
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]
KLAUZULE (sastavni deo upita)
SQL naredbe http: //www. w 3 schools. com/sql_syntax. asp Na primer, sledeća SQL naredba će izdvojiti sve zapise iz tabele “Customers": Upit U 1 SELECT * FROM Customers;
SELECT naredba Upit U 2 Napraviti upit koji će prikazati kolone Customer. Name i City iz tabele Customers. SELECT Customer. Name, City FROM Customers;
SELECT DISTINCT naredba Naredba za eliminisanje duplikata, ukoliko želimo da prikažemo različite vrednosti iz kolone.
SELECT DISTINCT naredba Upit U 3 Napraviti upit koji će prikazati samo različite vrednosti kolone Country iz tabele Customers. SELECT DISTINCT Country FROM Customers;
WHERE klauzula Ukoliko je potrebno pronaći određeni objekat ili grupu objekata u bazi podataka, potreban je jedan ili više uslova. Uslovi se navode u WHERE klauzuli.
WHERE klauzula Upit U 4 Napraviti upit koji će prikazati sve redove iz tabele Customers koji zadovoljavaju uslov Country= 'Mexico'; SELECT * FROM Customers WHERE Country='Mexico';
OPERATORI Operatori su elementi koji se koriste za izražavanje uslova pod kojima se pretražuju podaci. Operatori se dele po sledećim grupama: ü aritmetički üoperatori poređenja ülogički
ARITMETIČKI OPERATORI Aritmetički operatori su: Ø operator sabiranja (+) Ø operator oduzimanja (-) Ø operator deljenja (/) Ø operator množenja (*)
ARITMETIČKI OPERATORI Operator sabiranja Iskazom: SELECT kolona 1, kolona 1+0. 15 FROM tabela; dobija se prikaz kolona 1 i kolona 1 uvećan za 0. 15.
ARITMETIČKI OPERATORI Operator sabiranja Upit O 1 Napraviti upit koji će u prvoj kolini prikazati kolonu Price iz tabele Products, a u drugoj koloni vrednosti kolone Price uvećane za 0. 15. SELECT Price, Price + 0. 15 FROM Products;
ARITMETIČKI OPERATORI Operator oduzimanja Iskazom: SELECT kolona 1, kolona 2, kolona 1 - kolona 2 FROM tabela; dobija se prikaz kolona 1, kolona 2, kao i kolone koja računa njihovu razliku.
ARITMETIČKI OPERATORI Operator oduzimanja Upit O 2 Napraviti upit koji će u prvoj kolini prikazati kolonu Price iz tabele Products, a u drugoj koloni vrednosti kolone Price umanjene za 0. 15. SELECT Price, Price - 0. 15 FROM Products;
ARITMETIČKI OPERATORI Operator deljenja Iskazom: SELECT kolona 1, kolona 1 / 2 FROM tabela; dobija se prikaz kolone kolona 1, kao i kolone koja računa vrednosti iz kolone kolona 1 podeljene sa 2.
ARITMETIČKI OPERATORI Operator deljenja Upit O 3 Napraviti upit koji će u prvoj kolini prikazati kolonu Price iz tabele Products, a u drugoj koloni vrednosti kolone Price podeljene sa 2. SELECT Price, Price / 2 FROM Products;
ARITMETIČKI OPERATORI Operator množenja Iskazom: SELECT kolona 1], kolona 1 * 0. 9 FROM [naziv tabele]; dobija se prikaz kolone kolona 1 , kao i kolone koja računa vrednosti iz kolone kolona 1] pomnožene sa 0. 9.
ARITMETIČKI OPERATORI Operator množenja Upit O 4 Napraviti upit koji će u prvoj kolini prikazati kolonu Price iz tabele Products, a u drugoj koloni vrednosti kolone Price pomnožene sa 1. 15. SELECT Price, Price * 1. 15 FROM Products;
OPERATORI POREĐENJA OPERATOR OPIS = JEDNAKO <> NIJE JEDNAKO > VEĆE < MANJE >= VEĆE ILI JEDNAKO <= MANJE ILI JEDNAKO
OPERATORI POREĐENJA Operator = Upit P 1: Napraviti upit koji će iz tabele Products prikazati sve proizvode čija cena iznosi 18. SELECT * FROM Products Where Price = 18;
LOGIČKI OPERATORI Logički operatori odvajaju dva ili više uslova u WHERE klauzuli SQL iskaza.
Operator LIKE koristi se za pretragu kolone po određenom uzorku. % - džoker znak (zamenjuje nijedan, jedan ili više znakova). U MS Access-u to je *. _ - džoker znak (zamenjuje jedan znak). U MS Access -u to je ? .
Operator LIKE
Operator LIKE Upit U 5 Napraviti upit koji će prikazati sve redove iz tabele Customers koji zadovoljavaju uslov da naziv grada (kolona City) počinje slovom s. SELECT * FROM Customers WHERE City LIKE 's%';
Operator LIKE Upit U 6 Napraviti upit koji će prikazati sve redove iz tabele Customers koji zadovoljavaju uslov da naziv grada (kolona City) završava slovom s. SELECT * FROM Customers WHERE City LIKE '%s';
Operator LIKE Upit U 7 Napraviti upit koji će prikazati sve redove iz tabele Customers koji zadovoljavaju uslov da naziv grada (kolona City) sadrži slovo s. SELECT * FROM Customers WHERE Country LIKE '%land%';
Operator IN omoguc ava da navođenje više vrednosti u WHERE klauzuli. Operator IN omogućava skrac eno zapisivanje više OR uslova.
Operator IN
Operator IN Upit U 8 Napraviti upit koji će prikazati sve redove iz tabele Customers koji u koloni City imaju sadržaj: Paris ili London. SELECT * FROM Customers WHERE City IN ('Paris', 'London');
Operator BETWEEN bira vrednosti unutar datog opsega. Vrednosti mogu biti brojevi, tekst ili datumi. Operator BETWEEN se različito ponaša u različitim bazama podataka.
Operator BETWEEN Upit U 9 Napraviti upit koji će prikazati sve redove iz tabele Products koji u koloni Price imaju vrednost između 10 i 20. SELECT * FROM Products WHERE Price BETWEEN 10 AND 20;
Operator AND zahteva da izrazi sa obe strane operatora moraju biti tačni. Ukoliko je neki od izraza netačan, rezultat je takođe netačan.
Operator AND Upit U 10 Napraviti upit koji će prikazati sve redove iz tabele Customers koji u koloni Country imaju vrednost Germany i u koloni City vrednost Berlin. SELECT * FROM Customers WHERE Country='Germany’ AND City='Berlin';
Operator OR Kod ovog operatora, ukoliko bilo koji od uslova poređenja vraća kao rezultat vrednost tačno (TRUE), rezultat operatora OR je tačan (TRUE).
Operator OR Upit U 11 Napraviti upit koji će prikazati sve redove iz tabele Customers koji u koloni City imaju vrednost Berlin ili München. SELECT * FROM Customers WHERE City='Berlin' OR City='München';
ORDER BY ključna reč Koristi se za sortiranje rezultujuće tabele u rastućem (ASC - ascending) ili opadjućem redosledu (DESC descending). Ako se ne navede parametar načina sortiranja (ASC ili DESC) podrazumeva se rastući redosled.
ORDER BY ključna reč Koristi se za sortiranje rezultujuće tabele. Sintaksa: SELECT naziv_kolone (ili kolona) FROM naziv_tabele ORDER BY naziv kolone (ili kolona) ASC|DESC Upit U 12 Napraviti upit koji će prikazati podatke iz tabele Customers sortirane po vrednostima iz kolone Country u rastućem redosledu. SELECT * FROM Customers ORDER BY Country;
ORDER BY ključna reč Upit U 13 Napraviti upit koji će prikazati podatke iz tabele Customers sortirane po vrednostima iz kolone Country u opadajućem redosledu. SELECT * FROM Customers ORDER BY Country DESC;
ORDER BY ključna reč Upit U 13 A Napraviti upit koji će prikazati podatke iz tabele Customers sortirane po vrednostima iz kolone Country u rastućem redosledu, i po vrednostima iz kolone Customer. Name u opadajućem redosledu. SELECT * FROM Customers ORDER BY Country ASC, Customer. Name DESC;
FUNKCIJE U SQL-u Vrste funkcija: ü agregatne funkcije ü funkcije za datum i vreme ü aritmetičke funkcije ü funkcije za rad sa karakterima
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.
Funkcije AVG(), COUNT() i SUM() AVG() izračunava srednju vrednost odabrane numeričke kolone. COUNT() vraća broj vrednosti (NULL vrednosti neće se računati) navedene kolone. SUM() kao rezultat vraća zbir svih vrednosti iz kolone. Argumenti funkcije Sum mogu biti samo numerički podaci. Ukoliko se pokuša sa podacima koji nisu numerički, dobiće se poruka o grešci.
Funkcija AVG() Upit U 14: Napraviti upit koji će prikazati prosečnu vrednost kolone Price iz tabele Products. SELECT AVG(Price) AS Price. Average FROM Products;
Funkcija AVG() Upit U 15: Napraviti upit koji će prikazati nazive proizvoda (kolona Product. Name) i njihove cene (kolona Price), pod uslovom da je cena tog proizvoda veća od prosečne cene svih proizvoda. SELECT Product. Name, Price FROM Products WHERE Price>(SELECT AVG(Price) FROM Products);
Funkcija COUNT Upit U 16: Napraviti upit koji će izračunati ukupan broj porudžbina kupca sa identifikacionim brojem 7 (Customer. ID=7). SELECT COUNT(Customer. ID) FROM Orders WHERE Customer. ID=7;
Funkcija COUNT (*) funkcija vraća broj slogova u tabeli. Sintaksa: SELECT COUNT(*) FROM ime_tabele Upit U 17: Napraviti upit koji će izračunati ukupan broj porudžbina iz tabele Orders. SELECT COUNT(*) FROM Orders;
Funkcija SUM Argumenti funkcije Sum mogu biti samo numerički podaci. Ukoliko se pokuša sa podacima koji nisu numerički, dobiće se poruka o grešci.
Funkcija SUM Upit U 18: Napraviti upit koji će izračunati ukupnu naručenu količinu (kolona Quantity) iz iz tabele Order. Details. SELECT SUM(Quantity) FROM Order. Details;
Funkcije MAX i MIN • MAX() vraća najveću vrednost u okviru odabrane kolone. • MIN() vraća najmanju vrednost u okviru odabrane kolone.
Funkcija MAX Upit U 19: Napraviti upit koji će prikazati maksimalnu vrednost kolone Price iz tabele Products. SELECT MAX(Price) FROM Products;
Funkcija MIN Upit U 20: Napraviti upit koji će prikazati minimalnu vrednost kolone Price iz tabele Products. SELECT MIN(Price) FROM Products;
GROUP BY naredba Naredba GROUP BY se koristi u sprezi s agregatnim funkcijama za grupisanje u okviru jedne ili više kolona u rezultujućoj tabeli.
GROUP BY naredba Upit U 21: Napraviti upit koji će prikazati ukupnu naručenu količinu po proizvodima iz tabele Order. Details. SELECT Product. ID, SUM(Quantity) FROM Order. Details Group By Product. ID;
GROUP BY naredba Upit U 22: Napraviti upit koji će prikazati ukupnu naručenu količinu po proizvodima, pod uslovom da u zbir ulaze samo naručene količine veće od 70. SELECT Product. ID, SUM(Quantity) FROM Order. Details WHERE Quantity > 70 Group By Product. ID;
HAVING klauzula je ugrađena u SQL jer ključna reč WHERE ne možе da sе koristi сa agregаtnim funkcijama.
HAVING klauzula Upit U 23: Napraviti upit koji će prikazati ukupnu naručenu količinu po proizvodima, pod uslovom da je ukupna naručena količina veća od 100. SELECT Product. ID, SUM(Quantity) FROM Order. Details Group By Product. ID Having SUM(Quantity)>100;
UNION operator n UNION operator se koristi za formiranje rezultujuće tabele kombinovanjem dva ili više SELECT iskaza. n Svaki SELECT iskaz unutar UNION-a: - mora imati isti broj kolona; - kolone moraju imati isti tip podataka; - kolone u svakom SELECT iskazu moraju biti u istom redosledu.
UNION operator
UNION operator Upit U 24: Napraviti upit koji će izlistati sva različita imena gradova koja se nalaze u tabelama Customers i Suppliers. Imena gradova sortirati u rastućem redosledu. SELECT City FROM Customers UNION SELECT City FROM Suppliers ORDER BY City;
UNION ALL operator UNION operator odabira samo različite vrednosti. Ako je potrebno omogućiti dvostruke vrednosti, koristiti se UNION ALL
UNION ALL Operator Upit U 25: Napraviti upit koji će izlistati sva imena gradova (sa ponavljanjem) koja se nalaze u tabelama Customers i Suppliers. Imena gradova sortirati u rastućem redosledu. SELECT City FROM Customers UNION ALL SELECT City FROM Suppliers ORDER BY City;
INNER JOIN ključna reč Formira tabelu koja se sastoji od kolona iz dve tabele, na osnovu odnosa između pojedinih kolona u ovim tabelama.
INNER JOIN ključna reč Upit U 26: Napraviti upit koji će prikazati sve kupce (kolona Customer. Name iz tabele Customers) koji imaju porudžbine (prikazati njihove šifre – kolona Order. ID iz tabele Orders). Sortirati po nazivu kupca (kolona Customer. Name). SELECT Customers. Customer. Name, Orders. Order. ID FROM Customers INNER JOIN Orders ON Customers. Customer. ID=Orders. Customer. ID ORDER BY Customers. Customer. Name;
- Introduction to structured query language (sql)
- Introduction to structured query language (sql)
- What does sql stand for?
- A structured query language – sql operators are
- Select * from tab
- Structured query language (sql) is an example of a(n)
- Structured query language (sql) is an example of a(n)
- Sql nn
- My structured query language
- Lir
- Mjesni prilozi
- Present continuous vreme
- Tvorba past simple
- Past continuous nepravilni glagoli
- Past simple tense signal words
- Iterative query vs recursive query
- Query tree and query graph
- Query tree and query graph
- Types of interviews structured semi structured unstructured
- Jackson structured development
- Sql jezik
- Sql jezik
- Sql programski jezik
- Query optimizer sql server
- Sql injection
- Sqlstress
- Inside the sql server query optimizer
- Whoisactive sql query
- Sql insert update delete query
- Shrpe
- Sql query
- Cosmos db query optimization
- Excel sql query
- Sql query for xml
- Sql server intelligent query processing
- Difference between oracle and pl sql
- Oracle sql developer real time sql monitoring
- Object query language
- Google data visualization api
- Corpus query language
- Language integrated query developer
- Common query language
- Find the id name dept_name
- Google visualization api query language
- Formal query language in dbms
- Relational algebra
- Relational query languages
- Standardized query language
- Common query language
- Cobol area a and area b
- What is structured programming language
- Is sql a high level language
- Oracle procedural language extensions to sql
- What is dml in sql
- Hrvatski jezik vladimir nazor
- Fail rp primjeri
- Prevodilacv
- Stilska izražajna sredstva podjela
- Buduce vreme srpski jezik
- Branimirov natpis latinica
- Programski jezik pascal
- Sta je masinski jezik
- Pogodbene rečenice
- Branimirov natpis glagoljica
- Strukturno programiranje
- čutilo za okus
- Programski jezik logo
- Kviz prvi razred
- Branimirov natpis
- Zborni knjižni jezik
- Lične zamjenice bosanski jezik
- Priloske odredbe
- Glasovne promjene 5 razred
- Neverbalna komunikacija primeri
- Fortran programski jezik
- Evaluacija casa od strane pedagoga