SELECT [{ALL | DISTINCT}] select_item [AS alias] [,...]
FROM { table_name [[AS] alias] | view_name [[AS] alias]} [,...]
[ [join_type] JOIN join_condition ]
[WHERE search_condition] [ {AND | OR | NOT} search_condition [...] ]
[GROUP BY group_by_expression{group_by_columns}
[HAVING search_condition] ]
[ORDER BY {order_expression [ASC | DESC]} [,...] ]
SELECT column_name,column_name as 'alias'
FROM table_name;
use STUDIJE
select *
from studenti
select Imes, indeks, upisan, mesto
from studenti
select Imes, indeks, upisan, mesto, Datr as 'Datum rodjenja'
from studenti
SELECT DISTINCT column_name,column_name
FROM table_name;
select distinct mesto, NULL
from studenti
SELECT column_name,column_name
FROM table_name
WHERE predikat;
select *
from studenti
where upisan = 2000
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
select *
from studenti
where upisan between 2000 and 2005
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);
select *
from studenti
where mesto in ('Kragujevac', 'Kraljevo')
select *
from studenti
where mesto not in ('Kragujevac', 'Kraljevo')
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;
select *
from studenti
where mesto like 'K%'
select *
from studenti
where datr is null
SELECT column_name, column_name
FROM table_name
ORDER BY column_name ASC|DESC, column_name ASC|DESC;
select *
from studenti
where mesto not in ('Kragujevac', 'Kraljevo')
order by Imes desc
SELECT CAST(column_name as TYPE)
FROM table_name
SELECT CONCAT(column_name, value, column_name, ...)
FROM table_name
I način
select Imes, CONCAT(Indeks, '/', Upisan) as Indeks
from Studenti
II način
select Imes, CAST(Indeks as varchar(5)) + '/' + CAST(Upisan as varchar(5))
from Studenti
I) Simple CASE expression:
CASE input_expression
WHEN when_expression THEN result_expression [ ...n ]
[ ELSE else_result_expression ]
END
II) Searched CASE expression:
CASE
WHEN Boolean_expression THEN result_expression [ ...n ]
[ ELSE else_result_expression ]
END
select Imes,
case Mesto
when 'Kragujevac' then 'LOKALNO'
else 'POTREBAN SMESTAJ'
end as 'Smestaj'
from Studenti
select Indeks, Upisan, Spred,
case
when Ocena > 5 and Ocena < 7 then 'Ispod proseka'
when Ocena >= 7 and Ocena < 9 then 'Proseck'
when Ocena = 9 then 'Odlicana'
else 'Izuzetana'
end as Status
from Prijave
DATEDIFF ( datepart , startdate , enddate )
DATENAME ( datepart , date )
DATEPART ( datepart , date )
GETDATE ( )
select Imes, Indeks, Upisan, DATEPART(year, datr) as 'Godina', DATEDIFF(year, datr, GETDATE()) as Starost
from Studenti
where DATEDIFF(year, datr, GETDATE()) > 25
COUNT, MIN, MAX, SUM, AVG
select COUNT(*)
from Studenti
select COUNT(datr)
from Studenti
select MAX(ocena) as minimalna, MIN(ocena) as maksimalna, AVG(cast(ocena as real)) as prosecna
from Prijave
where Spred = 23
select MAX(ocena) as minimalna, MIN(ocena) as maksimalna, AVG(ocena * 1.0) as prosecna
from Prijave
where Spred = 23
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
select Mesto,count(*) as 'broj studenata'
from Studenti
group by Mesto
select datepart(year, Datr) godiste, COUNT(*) as 'broj studenata'
from studenti
group by datepart(year, Datr)
select Indeks, Upisan, count(*) 'broj polozenih', Avg(cast(Ocena as real)) as Prosek
from Prijave
group by Indeks, Upisan