You are on page 1of 3

SELECT iskaz – SELECT SQL komanda nad jednom tabelom

SELECT je SQL komanda koja omogudava vradanje (dohvatanje) podataka iz baze podataka.
SELECT komanda ne mijenja podatke u bazi, nego isključivo vrada podatake iz baze, tako da
aritmetičke operacije definisane nad kolonama tabele, u SELECT iskazu nad kojom se radi
select SQL komanda nede promijeniti vrijednosti podataka te tabele u bazi podataka.

Osnovni SQL iskaz može uključiti sljedede:

SELECT klauzula koja specificira kolone koje de se prikazati


koja specificira tabele koje sadrže kolone koje de se prikazati
FROM klauzula
predstavljene u SELECT klauzuli.

U sintaksi:

SELECT je lista jedne ili više kolona


DISTINCT ukidanje duplikata
* odabiranje svih kolona
Column odabir naziva kolone
Alias ispisuje naziv kolone u zaglavlju definisan imenom alijasa
FROM table specificira tabela u kojoj se nalaze kolone
ORDER BY (ASC / DESC) Sortiranje podataka

Zaglavlje kolona – Alias


Prilikom dohvatanja podataka (kolona) iz određenih tabela baze podataka korištenjem
SELECT upita te kolone de biti predstavljene upravo onim nazivom kako su i definisane u
tabelama baze. Ukoliko trebamo da promijenimo naziv u zaglavlju kolone (neko logično ime
za tu kolonu-alias) koristit demo ključnu riječ „AS“ prilikom SELECT upita.

Upit sa korištenjem aliasa:

SELECT
last_name AS Prezime, first_name AS Ime, salary AS Plata
FROM employees;

Upit bez korištenja aliasa:

SELECT
last_name, first_name, salary
FROM employees;

Ukoliko želimo da sadržaj dvije kolone prikažemo u jednoj koloni onda to radimo pomodu CONCAT
funkcije, slijedi primjer ispod:

SELECT CONCAT(first_name, ' ', last_name) AS 'Ime i prezime'


FROM employees
Aritmetički izrazi
Upotreba aritmetičkih izraza u SELECT iskazu je dozvoljena. Tako da u slučaju kombinovanog
aritmetičkog izraza koji sadrži: stepenovanja, korijenovanja, množenja, dijeljenja, sabiranja i
oduzimanja, rezultat koji se želi postidi je tada potrebno zatvoriti u odgovarajude zagrade.

Na primjer, predpostavimo da je potrebno uvedati platu svih zaposlenih za 10% i prikazati


kao rezultat ime, prezime, platu i uvedanu platu.

SELECT
last_name AS Prezime,
first_name AS Ime,
salary AS Plata,
(salary * 1.1) AS 'Plata uvedana za 10%'
FROM employees;

Ukoliko imamo alias koji se sastoji od od dvije ili više riječi onda ga moramo smjestiti između
jednostrukih navodnika (npr. 'Plata uvedana za 10%')

Korijen - SQRT(X)
Kvadrat - POW(X, Y)

SELECT * operator
Ukoliko želimo izvršiti dohvatanje svih kolona određene tabele tada koristimo * (zvijezda)
operator.

SELECT *
FROM departments;

ORDER BY klauzula

Order by klauzula se koristi za sortiranje jedne ili više kolona u upitu. Postoje dva načina
sortiranja i to po rastudem (ASC-ending) i opadajudem (DESC-ending) poretku. U ORDER BY
klauzuli mogu se navesti samo one kolone koje su navedene u select iskazu.

SELECT first_name, last_name


FROM employees
ORDER BY first_name ASC;

SELECT first_name, last_name


FROM employees
ORDER BY first_name DESC;
WHERE klauzula

Where klauzula se koristi za filtriranje podataka koji se dohvataju iz baze po nekom uslovu ili
kriteriju pretrage.

U sintaksi:

je restrikcija nad upitom na osnovu koje de se pretraživati


WHERE
podaci u bazi podataka
se sastoji od naziva kolona, izraza, konstanti i
uslov
operatora upoređivanja

U WHERE klauzuli mogu se upoređivati vrijednosti u koloni/kolonama, karakterna vrijednost,


aritmetički izrazi i/ili funkcije. Svaka where kaluzula sadrži tri elementa i to:

- naziv kolone
- operator upoređivanja i
- naziv kolone, konstante ili liste vrijednosti.

Na primjer predpostavimo da je potrebno napisati upit koji de vratiti ime, prezime, broj
telefona i šifru odjela za sve zaposlene koji rade na poslovima – IT_PROG.

SELECT first_name, last_name, phone_number, department_id


FROM employees
WHERE job_id = 'IT_PROG';

Zadaci za vježbu

1. Napisti upit koji de prikazati naziv zaposlenog i šifru odjela za id zaposlenog 102.
2. Napisati upit koji de prikazati ime, prezime i šifru odjela za sve zaposlene iz odjela 10 i
30 sortirano po prezimenu zaposlenog u rastudem poretku.
3. Napisati upit koji de prikazati platu, ime, prezime i dodatak na platu za sve zaposlene
koji rade u odjelima 50 ili 80. Za labele (naziv) kolona uzeti respektivno: mjesečna
plata, ime zaposlenog, prezime zaposlenog i dodatak na platu.
4. Napisati upit koji de prikazati šifru odjela, naziv odjela, id lokacije koji se nalaze na id
lokacije 1700 sortirano po nazivu odjela u opadajudem poretku. (podaci se nalaze u
tabeli departments)
5. Napisati upit koji de prikazati sve kolone iz tabele lokacije (locations) za one lokacije
koje se nalaze u id države (country_id) „US“.
6. Napisati upit koji de prikazati id države, naziv države, id regiona koje pripadaju
regionu 1 sortirano po id države u rastudem poretku. (podaci se nalaze u tabeli
countries)

You might also like