You are on page 1of 28

Osnove SQL-a

Ciljevi
Poslije kompletiranja ove lekcije trebalo bi
se biti u mogunosti da:
Izvravate osnovne SQL iskaze
Razlikuju SQL izkaze i SQL*plus komande
Razumijete mogunosti SQL SELECT iskaza

Podjela SQL iskaza


DML Data Manipulation Language

DDL - Data Definition Language

DCL Data Control Language

TC Transaction Control

su
SQL
komande
koje
omoguavaju
manipulaciju sa podacima u bazi podataka;
komandama kao to su : INSERT, UPDATE,
DELETE.

su SQL komande koje omoguavaju kreiranje


(create),
mijenjanje (alter), i/ili brisanje
objekata u bazi podataka sa komandama kao
to su CREATE TABLE, DROP TABLE, ALTER
TABLE, itd.
su
SQL
komande
koje
omoguavaju
spaavanje, vraanje i/ili vraanje stanja
baze podataka nakon neke upotrebe DML
SQL komande nad podacima u bazi od/do
poetka prijave na bazu podatala. Tu su
komande COMMIT, ROLLBACK, SAVEPOINT.

su SQL komande koje vam omoguavaju


dodijeljivanje prava nad objektima baze
podataka. To su komande GRANT, REVOKE.

Osnovni SQL iskaz

SELECT klauzula
FROM klauzula

specificira kolone koje e se prikazati


specificira tabele koje sadre kolone koje e se
predstaviti predstavljene u SELECT klauzuli.

gdje je:
SELECT
DISTINCT
*
Column
Alias

je lista jedne ili vie kolona


ukidanje duplikata
odabiranje svih kolona
odabir naziva kolone
ispisivanje
naziv
kolone
definisanim imenom alijasa

FROM table

specificira tabela u kojoj se nalaze kolone

zaglavlju

sa

Sposobnosti SQL iskaza


Selekcija

Projekcija

Tabe
Tab
ela 1

Tabe
Tab
ela 1

Tabela 1

Spajanje

Tabela 2

Osnovni SELECT iskaz


SELECT identificira KOJE kolone e se
koristiti za prikaz
FROM identificira iz KOJIH tabela e se
itati podaci
SELECT [DISTINCT] {*, column [alias],...}
FROM
table;

Pisanje SQL iskaza


SQL iskaz nije case sensitive
SQL iskaz moe se pisati na vie od jedne
linije
Kljune rijei ne mogu se pisati skraeno ili
odvojeno linijama
Obino se klauzule koriste za odvajanje
linija
Tabovi se koriste za bolje pisanje SQL
iskaza, kao i kod veine programiskih jezika

Selektovanje svih kolona


SQL> SELECT *
2 FROM
dept;

DEPTNO
--------10
20
30
40

DNAME
-------------ACCOUNTING
RESEARCH
SALES
OPERATIONS

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

Selektovanje specifinih kolona


SQL> SELECT deptno, loc
2 FROM
dept;
DEPTNO
--------10
20
30
40

LOC
------------NEW YORK
DALLAS
CHICAGO
BOSTON

Default-na poravnanja kolona


Default-a poravnja

LIJEVO: datumi i karakterne vrijednosti


DESNO: numerke vrijednosti

Default-i prikazi naziva kolona i podataka


Nazivi kolona: velika slova
Podaci u tabeli: case sensitive

Aritmetiki izrazi
Za tipove kolona NUMBER i DATE mogu se
koriti aritmetike operacije:
+ - sabiranje
- - oduzimanje
* - mnoenje
/ - dijeljenje

Koritenje aritmetikih operatora


SQL> SELECT ename, sal, sal+300
2 FROM
emp;
ENAME
SAL
SAL+300
---------- --------- --------KING
5000
5300
BLAKE
2850
3150
CLARK
2450
2750
JONES
2975
3275
MARTIN
1250
1550
ALLEN
1600
1900
...
14 rows selected.

Prednosti aritmetikih operatora


*

Mnoenje i dijeljenje uzimaju prednost nad


sabiranjem i oduzimanjem
Operatori istog prioriteta izvravaju se s lijeva
na desno
Zagrade se koriste da bi inicirao prioritet
izvrenja operatora. Prvo se izvravaju
aritmetiki izrazi u zagradi, a potom izvan nje i
tako redom...

Prednost izvrenja operatora


SQL> SELECT ename, sal, 12*sal+100
2 FROM
emp;
ENAME
SAL 12*SAL+100
---------- --------- ---------KING
5000
60100
BLAKE
2850
34300
CLARK
2450
29500
JONES
2975
35800
MARTIN
1250
15100
ALLEN
1600
19300
...
14 rows selected.

Koritenje zagrada
SQL> SELECT ename, sal, 12*(sal+100)
2 FROM
emp;
ENAME
SAL 12*(SAL+100)
---------- --------- ----------KING
5000
61200
BLAKE
2850
35400
CLARK
2450
30600
JONES
2975
36900
MARTIN
1250
16200
...
14 rows selected.

NULL vrijednost

NULL vrijednost je vrijednost koja je


nedostupna, koja nije rasporeena, nepoznata
ili neprimjenjiva,...
NULL vrijednost nije isto to i 0 (nula) ili
prazan prostor !
SQL> SELECT ename, job, sal, comm
2 FROM
emp;
ENAME
JOB
SAL
COMM
---------- --------- --------- --------KING
PRESIDENT
5000
BLAKE
MANAGER
2850
...
TURNER
SALESMAN
1500
0
...
14 rows selected.

NULL vrijednosti i aritmetiki izrazi


Aritmetiki izrazi koji operiu sa NULL
vrijednou kao rezultet prosljeuju NULL
vrijednost
SQL> select ename, 12*sal+comm
2 from
emp
3 WHERE ename='KING';

ENAME
12*SAL+COMM
---------- ----------KING

Alijasi za kolone
Reimenovanje naziva kolona prilikom
pisanja SQL iskaza
Koristan je pri izrauvanjima
Po pisanju kolone tabele odmah slijedi ime
alijasa za kolonu. AS kljuna rije se koristi
za razdvanje naziva kolone od naziva
alijasa
U sluaju dvo ili vie sloenikih naziva
alijasa moraju se korisiti - . Nazivi kolona
tada postaju case sensitive!

Koritenje alijasa za kolone


SQL> SELECT ename AS name, sal salary
2 FROM
emp;
NAME
SALARY
------------- --------...

SQL> SELECT ename "Name",


2
sal*12 "Annual Salary"
3 FROM
emp;
Name
Annual Salary
------------- ------------...

Operatori spajanja
Operator spajanja spajaju kolone ili
karakterne strigove sa drugim kolonama
Operator spajanja pie se sa || (ili operator u
C programskom jeziku)
Kreira rezultantnu kolonu kao jednu
kolonu koja sadri vrijednosti svih spojenih
kolona

Koritenje operatora spajanja


SQL> SELECT
2 FROM

ename||job AS "Employees"
emp;

Employees
------------------KINGPRESIDENT
BLAKEMANAGER
CLARKMANAGER
JONESMANAGER
MARTINSALESMAN
ALLENSALESMAN
...
14 rows selected.

Literal karakterni string


Literal je karaker, broj ili datum ukljuen u
SELECT listi
Literali: Datum i Karater moraju se pisati sa
jednostrukim znacima navoda
Svaki karakteni string prikazuje se kao
jedan niz za svaki vraeni slog

Koritenje literala karakternih


stringova
SQL> SELECT ename
2
3 FROM
emp;

||' is a '||job
AS "Employee Details"

Employee Details
------------------------KING is a PRESIDENT
BLAKE is a MANAGER
CLARK is a MANAGER
JONES is a MANAGER
MARTIN is a SALESMAN
...
14 rows selected.

Dupli slogovi
Default-e postavke za svaki upit je da se
prikazuju svi slogovi ukljuujui i duple
slogove
SQL> SELECT deptno
2 FROM
emp;

DEPTNO
--------10
30
10
20
...
14 rows selected.

Eliminiacija duplih slogova


Eliminisanje duplih sloga vri se putem
kljune rijei DISTINCT u SELECT klauzuli
SQL> SELECT DISTINCT deptno
2 FROM
emp;

DEPTNO
--------10
20
30

SQL i SQL*Plus interpreter


SQL iskazi

Buffer

SQL iskazi

Server

SQL*Plus

SQL*Plus
komande
Formiranje izvjetaja

Query rezultati

Prikaz strukture tabele


DESCRIBE komanda koristi se za
prikazivanje strukture tabele
DESC[RIBE] tablename

SQL> DESCRIBE dept


Name
Null?
----------------- -------DEPTNO
NOT NULL
DNAME
LOC

Type
-----------NUMBER(2)
VARCHAR2(14)
VARCHAR2(13)

Osnove SQL-a

You might also like