sql osnova
TRANSCRIPT
![Page 1: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/1.jpg)
Baze podataka
![Page 2: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/2.jpg)
Select
Select Dinstict
Where
And – Or
Order by
Insert Into
Update
Delete
Sajt http://www.w3school.com
![Page 3: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/3.jpg)
CustomerID Customer
Name
Contact
Name
Address City Postal
Code
Country
1 Alfreds Futterkiste Maria Anders
Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados
Ana Trujillo Avda. de la Constitución
2222
México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno
Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy
120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund
Berguvsvägen 8 Luleå S-958 22 Sweden
Customers
![Page 4: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/4.jpg)
SELECT column_name,column_nameFROM table_name;
Ili
SELECT * FROM table_name;
PRIMERI SELECT CustomerName,City FROM Customers;
SELECT * FROM Customers;
![Page 5: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/5.jpg)
SELECT DISTINCT column_name,column_nameFROM table_name;
PRIMERSELECT DISTINCT City FROM Customers;
![Page 6: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/6.jpg)
SELECT column_name,column_nameFROM table_nameWHERE column_name operator value;
PRIMERI SELECT * FROM Customers WHERE Country='Mexico';
SELECT * FROM Customers WHERE CustomerID=1;
Operator Description
= JEDNAKO
<> RAZLIČITO. Note: U NEKIM VERZIJAMA MOŽE
DA SE PIŠE I KAO !=
> VEĆE
< MANJE
>= VEĆE ILI JEDNAKO
<= MANJE ILI JEDNAKO
BETWEE
N
IZMEĐU UJ OPSEGU VREDNOSTI
LIKE PRETRAGA PO OBRASCU
IN VIŠE MOGUĆIH VREDNOSTI ZA KOLONU
![Page 7: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/7.jpg)
And i Or koriste se filtriranje unosa koji imaju više od jednoguslova
PRIMERI SELECT * FROM Customers WHERE Country='Germany' AND
City='Berlin';
SELECT * FROM Customers WHERE City='Berlin' ORCity='München';
SELECT * FROM Customers WHERE Country='Germany' AND(City='Berlin' OR City='München');
![Page 8: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/8.jpg)
SELECT column_name,column_nameFROM table_nameORDER BY column_name,column_name ASC|DESC;
PRIMERI SELECT * FROM Customers ORDER BY Country;
SELECT * FROM Customers ORDER BY Country DESC;
SELECT * FROM Customers ORDER BY Country,CustomerName;
![Page 9: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/9.jpg)
Unos novih vrednosti u tabelu
INSERT INTO table_nameVALUES (value1,value2,value3,...);
ILI
INSERT INTO table_name (column1,column2,column3,...)VALUES (value1,value2,value3,...);
PRIMERI INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode,
Country)VALUES ('Cardinal','Tom B. Erichsen','Skagen 21','Stavanger','4006','Norway');
INSERT INTO Customers (CustomerName, City, Country)VALUES ('Cardinal', 'Stavanger', 'Norway');
PAŽNJA: Vrednosti koje nisu određene unosom generišu u ćelijama NULL
![Page 10: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/10.jpg)
Koristi se za ažuriranje već postojećih vrednosti
UPDATE table_nameSET column1=value1,column2=value2,...WHERE some_column=some_value;
PRIMERI UPDATE Customers
SET ContactName='Alfred Schmidt', City='Hamburg' WHERE CustomerName='Alfreds Futterkiste';
UPDATE Customers SET ContactName='Alfred Schmidt', City='Hamburg';
PAŽNJA: Ako se izostavi WHERE svi zapisi će biti ažurirani
![Page 11: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/11.jpg)
DELETE FROM table_nameWHERE some_column=some_value;
PRIMERI DELETE FROM Customers
WHERE CustomerName='Alfreds Futterkiste' AND ContactName='Maria Anders';
DELETE FROM table_name;ILI
DELETE * FROM table_name;
PAŽNJA: Ako se izostavi WHERE briše celu tabelu (pažljivo nema vraćanja sa UNDO)
![Page 12: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/12.jpg)
Select Top
Like
In
Between
Aliases
Joins Inner Join
Right Join
Left Join
Full Join
Union
Sajt http://www.w3school.com
![Page 13: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/13.jpg)
SELECT TOP 2 * FROM Customers;
SELECT TOP 50 PERCENT * FROM Customers;
CustomerID Customer
Name
Contact
Name
Address City Postal
Code
Country
1 Alfreds Futterkiste Maria
Anders
Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo
Emparedados y helados
Ana Trujillo Avda. de la
Constitución
2222
México D.F. 05021 Mexico
3 Antonio Moreno
Taquería
Antonio
Moreno
Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas
Hardy
120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina
Berglund
Berguvsvägen 8 Luleå S-958 22 Sweden
Customers
![Page 14: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/14.jpg)
Koristi kombinaciju redova iz dve ili više tabela
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDateFROM OrdersINNER JOIN CustomersON Orders.CustomerID=Customers.CustomerID;
OrderID CustomerID OrderDate
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20
CustomerID CustomerName ContactName Country
1 Alfreds Futterkiste Maria Anders Germany
2 Ana Trujillo Emparedados y helados
Ana Trujillo Mexico
3 Antonio Moreno Taquería
Antonio Moreno Mexico
Orders
Customers
![Page 15: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/15.jpg)
INNER JOIN – vraće sve redove iz obe tabele gde pripadaju redovima obe tabele
LEFT JOIN – vraća sve redove iz leve tabele sa uparenim redovima iz desne tabele
RIGHT JOIN – vraća sve redove iz desne tabele sa uparenim redovima iz leve tabele
FULL JOIN - vraća sve redove iz leve i iz desne tabele
![Page 16: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/16.jpg)
SELECT column_name(s)FROM table1INNER JOIN table2ON table1.column_name=table2.column_name;
SELECT Customers.CustomerName, Orders.OrderIDFROM CustomersINNER JOIN OrdersON Customers.CustomerID=Orders.CustomerIDORDER BY Customers.CustomerName;
![Page 17: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/17.jpg)
SELECT column_name(s)FROM table1LEFT JOIN table2ON table1.column_name=table2.column_name;
PRIMER
SELECT Customers.CustomerName, Orders.OrderIDFROM CustomersLEFT JOIN OrdersON Customers.CustomerID=Orders.CustomerIDORDER BY Customers.CustomerName;
![Page 18: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/18.jpg)
SELECT column_name(s)FROM table1RIGHT JOIN table2ON table1.column_name=table2.column_name;
PRIMER
SELECT Orders.OrderID, Employees.FirstNameFROM OrdersRIGHT JOIN EmployeesON Orders.EmployeeID=Employees.EmployeeIDORDER BY Orders.OrderID;
![Page 19: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/19.jpg)
SELECT column_name(s)FROM table1FULL OUTER JOIN table2ON table1.column_name=table2.column_name;
PRIMER
SELECT Customers.CustomerName, Orders.OrderIDFROM CustomersFULL OUTER JOIN OrdersON Customers.CustomerID=Orders.CustomerIDORDER BY Customers.CustomerName;
![Page 20: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/20.jpg)
AVG() – Vraća prosečne vrednosti
COUNT() – Vraća broj redova
FIRST() – Vraća prvu vrednost
LAST() – Vraća poslednju vrednost
MAX() – Vraća najveću vrednost
MIN() – Vraća minimalnu vrednost
SUM() – Vraća ukupnu (sumu) vrednost
![Page 21: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/21.jpg)
Vraća prosečne vrednosti određene kolone (numerička vrednost)
SELECT AVG(column_name) FROM table_name
PRIMER
SELECT AVG(Price) AS PriceAverage FROM Products;
SELECT ProductName, Price FROM Products WHERE Price>(SELECT AVG(Price) FROM Products);
![Page 22: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/22.jpg)
Vraća broj kolona po određenom kriterijumu
SELECT COUNT(column_name) FROM table_name;
PRIMER
SELECT COUNT(*) FROM table_name;
SELECT COUNT(CustomerID) AS OrdersFromCustomerID7 FROM Orders WHERE CustomerID=7;
SELECT COUNT(*) AS NumberOfOrders FROM Orders;
SELECT COUNT(DISTINCT CustomerID) AS NumberOfCustomers FROM Orders;
![Page 23: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/23.jpg)
Vraća prvu vrednost selektovane kolone
SELECT FIRST(column_name) FROM table_name;
PRIMER
SELECT FIRST(CustomerName) AS FirstCustomer FROM Customers;
![Page 24: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/24.jpg)
Vraća poslednju vrednost selektovane kolone
SELECT LAST(column_name) FROM table_name;
PRIMER
SELECT LAST(CustomerName) AS LastCustomer FROM Customers;
![Page 25: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/25.jpg)
Vraća maksimalnu vrednost selektovane kolone
SELECT MAX(column_name) FROM table_name;
PRIMER
SELECT MAX(Price) AS HighestPrice FROM Products;
![Page 26: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/26.jpg)
Vraća najmanju vrednost selektovane kolone
SELECT MIN(column_name) FROM table_name;
PRIMER
SELECT MIN(Price) AS SmallestOrderPrice FROM Products;
![Page 27: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/27.jpg)
Vraća ukupnu vrednost numeričke kolone
SELECT SUM(column_name) FROM table_name;
PRIMER
SELECT SUM(Quantity) AS TotalItemsOrdered FROM OrderDetails;
![Page 28: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/28.jpg)
Omogućava grupisanje vrsta na osnovu zajedničkih vrednosti
SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_name;
PRIMER
SELECT Shippers.ShipperName,COUNT(Orders.OrderID) AS NumberOfOrdersFROM OrdersLEFT JOIN ShippersON Orders.ShipperID=Shippers.ShipperIDGROUP BY ShipperName;
![Page 29: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/29.jpg)
Koristi se kada ključna reč ne može sa agregatnom funkcijom
SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_nameHAVING aggregate_function(column_name) operator value;
Primer1:
SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrdersFROM (OrdersINNER JOIN EmployeesON Orders.EmployeeID=Employees.EmployeeID)GROUP BY LastNameHAVING COUNT(Orders.OrderID) > 10;
![Page 30: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/30.jpg)
Primer2:
SELECT Employees.LastName, COUNT(Orders.OrderID) AS NumberOfOrdersFROM OrdersINNER JOIN EmployeesON Orders.EmployeeID=Employees.EmployeeIDWHERE LastName='Davolio' OR LastName='Fuller'GROUP BY LastNameHAVING COUNT(Orders.OrderID) > 25;
![Page 31: Sql osnova](https://reader031.vdocument.in/reader031/viewer/2022013111/55ac52351a28abe7118b47d9/html5/thumbnails/31.jpg)
Baze podataka