Professional Documents
Culture Documents
(9-10) Osnove SQL
(9-10) Osnove SQL
• Podatkovne baze
2
Podatkovne baze
3
Podatkovne baze
4
Podatkovne baze:
Hierarhija podatkov
Tabela o zaposlenih
Tabela o storitvah
5
Podatkovne baze
Terminologija:
• Entiteta • Tabela
• Atribut • Stolpec v tabeli
• Primerek • Vrstica tabele = zapis
• Identifikacijski atribut • Primarni ključ
6
Pregled predavanja
• Podatkovne baze
7
SQL:
Osnove
• SQL = Structured Query Language
• ANSI (American National Standards Institute) standard
• Standardni jezik za dostopanje in delo s podatkovnimi bazami
8
SQL:
Osnove
• Kaj SQL lahko dela:
9
SQL:
Sintaksa
• Najbolj pomembni SQL ukazi:
• SELECT - izbira podatke iz baze
• UPDATE – posodablja podatke v bazi
• DELETE – briše podatke iz baze
• INSERT INTO – vnaša nove podatke v bazo
• CREATE DATABASE – kreira novo bazo
• ALTER DATABASE – posodablja bazo
• CREATE TABLE – kreira novo tabelo
• ALTER TABLE – posodablja tabelo
• DROP TABLE – briše tabelo
10
SQL:
Sintaksa
• Pomembno:
11
SQL:
Sintaksa
• Primer tabele „Customers“:
12
SQL:
Sintaksa - SELECT
• SELECT - poizvedovanje v bazi
• Sintaksa:
SELECT stopec1, stolpec2, …
FROM ime_tabele;
14
SQL:
Sintaksa - WHERE
• Sintaksa:
SELECT stopec1, stolpec2, …
FROM ime_tabele
WHERE pogoj;
15
SQL:
Sintaksa - WHERE
• Primer 1: Izberite vse podatke o strankah iz tabele Customers, ki so iz Mehike
SELECT * FROM Customers
WHERE Country = ‘Mexico’; rezultat
• Primer 2: Izberite vse podatke o stranki, ki ima CustomerID =1, iz tabele Customers
SELECT * FROM Customers
WHERE CustomerID = 1; rezultat
16
SQL:
Sintaksa - WHERE
• Operatorji v izrazu „pogoj“:
• =, <>, <, >, <=, >=, BETWEEN, LIKE, IN
18
SQL:
VAJE
• https://www.w3resource.com/sql-exercises/sql-retrieve-from-table.php
• https://www.w3resource.com/sql-exercises/sql-boolean-operators.php
19
SQL:
Sintaksa – ORDER BY
• ORDER BY – razvrščanje podatkov v naraščajočem ali padajočem
vrstnem redu
• Privzeta opcija je razvrščanje podatkov v naraščajočem vrstnem redu
• Če jih želimo razvrstiti v padajočem vrstnem redu, uporabimo besedo DESC
• Sintaksa:
SELECT stopec1, stolpec2, …
FROM ime_tabele
ORDER BY stopec1, stolpec2, … ASC|DESC;
20
SQL:
Sintaksa – ORDER BY
• Primer 1:
SELECT * FROM Customers
ORDER BY Country; rezultat
• Primer 2:
SELECT * FROM Customers
ORDER BY Country DESC; rezultat
• Primer 3:
SELECT * FROM Customers
ORDER BY Country, CustomerName; rezultat
• Primer 4:
SELECT * FROM Customers
ORDER BY Country ASC, CustomerName DESC; rezultat
21
SQL:
Sintaksa – vrednost NULL
• NULL - podatek ni vnesen v tabelo (manjkajoč podatek)
• NULL ni enako 0!
• Ne uporabljajo se operatorji za primerjanje: <, >, =, <>
• Izraz: IS NULL ali IS NOT NULL
• Sintaksa:
SELECT stopec1, stolpec2, …
FROM ime_tabele
WHERE stolpec IS NULL;
22
SQL:
Sintaksa – vrednost NULL
• Tabela „Persons“
• Primer 1:
SELECT LastName, FirstName, Address FROM Persons
WHERE Address IS NULL;
• Primer 2:
SELECT LastName, FirstName, Address FROM Persons
WHERE Address IS NOT NULL;
23
SQL:
Sintaksa – specialni znaki
• Uporabljajo se kot zamenjava za katerikoli znak v besedi
• Sintaksa:
• % - predstavlja nič, eden, ali več znakov
• _ - predstavlja točno en znak
• [niz_znakov] – množica znakov iz katere se izbira
• [!niz_znakov] – množica znakov iz katere se NE izbira
24
SQL:
Sintaksa – specialni znaki
• Primeri:
Operator LIKE Opis
WHERE CustomerName LIKE ‘%or%’ Najde vrednosti atributa, ki vsebujejo „or“ na kateremkoli mestu
WHERE CustomerName LIKE ‘_r%’ Najde vrednosti atributa, ki vsebujejo „r“ na drugem mestu
WHERE CustomerName LIKE ‘a_%_%’ Najde vrednosti atributa, ki se začnejo z „a“ in so dolge vsaj 3
znake
WHERE CustomerName LIKE ‘a%o’ Najde vrednosti atributa, ki se začnejo z „a“ in se končajo z „o“
25
SQL:
Sintaksa – specialni znaki
• Primer 1:
SELECT * FROM Customers
WHERE City LIKE ‘ber%’; rezultat
• Primer 2:
SELECT * FROM Customers
WHERE City LIKE ‘%es%’; rezultat
• Primer 3:
SELECT * FROM Customers
WHERE City LIKE ‘_erlin’; rezultat
• Primer 4:
SELECT * FROM Customers
WHERE City LIKE ‘L_n_on’; rezultat
26
SQL:
Sintaksa – specialni znaki
• Primer 4:
SELECT * FROM Customers
WHERE City LIKE ‘[bsp]%’; rezultat
• Primer 5:
SELECT * FROM Customers
WHERE City LIKE ‘[a-c]%’; rezultat
• Primer 6:
SELECT * FROM Customers
WHERE City LIKE ‘[!bsp]%’; rezultat
• Primer 7:
SELECT * FROM Customers
WHERE City NOT LIKE ‘[bsp]%’; rezultat
27
SQL:
VAJE
https://www.w3resource.com/sql-exercises/sql-wildcard-special-
operators.php
28
SQL:
Sintaksa – agregacijske funkcije
• Primer 1: • Primer 3:
SELECT MIN(Price) AS SmallestPrice SELECT AVG(Price)
FROM Products; rezultat FROM Products; rezultat
• Primer 2: • Primer 4:
SELECT MAX(Price) AS LargestPrice SELECT COUNT(ProductID)
FROM Products; rezultat FROM Products; rezultat
30
SQL:
Sintaksa – agregacijske funkcije
• Tabela „OrderDetails“
• Primer 5:
SELECT SUM(Quantity)
FROM OrderDetails; rezultat
31
SQL:
VAJE
https://www.w3resource.com/sql-exercises/sql-aggregate-
functions.php
32
SQL:
Sintaksa – INSERT INTO
• INSERT INTO – dodajanje novih zapisov (vrstic) v tabelo
• Sintaksa:
INSERT INTO ime_tabele (stolpec1, stolpec2, stolpe3, …)
VALUES (vrednost1, vrednost2, vrednost3, …);
33
SQL:
Sintaksa – INSERT INTO
• Tabela „Customers“
• Primer 1:
INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
VALUES (‘Cardinal’, ‘Tom B. Erichsen’, ‘Skagen 21’, ‘Stavanger’, ‘4006’, ‘Norway’);
• Primer 2:
INSERT INTO Customers (CustomerName, City, Country)
VALUES (‘Cardinal’, ‘Stavanger’, ‘Norway’);
34
SQL:
Sintaksa – UPDATE
• UPDATE – urejanje obstoječega zapisa v tabeli
• Sintaksa:
UPDATE ime_tabele
SET stolpec1=vrednost1, stolpec2=vrednost2, …
WHERE pogoj;
35
SQL:
Sintaksa – UPDATE
• Tabela „Customers“
• Primer 1:
UPDATE Customers
SET ContactName = ‘Alfred Schmidt’, City = ‘Frankfurt’
WHERE CustomerID = 1;
36
SQL:
Sintaksa – UPDATE
• Tabela „Customers“
• Primer 2:
UPDATE Customers
SET ContactName = ‘Juan’
WHERE Country = ‘Mexico’;
37
SQL:
Sintaksa – UPDATE
• Tabela „Customers“
• Primer 3:
UPDATE Customers
SET ContactName = ‘Juan’;
38
SQL:
Sintaksa – DELETE
• DELETE – brisanje zapisov iz tabele
• Sintaksa:
DELETE FROM ime_tabele
WHERE pogoj;
39
SQL:
Sintaksa – DELETE
• Tabela „Customers“
• Primer 1:
DELETE FROM Customers
WHERE CustomerName = ‘Alfreds Futterkiste’;
• Primer 2:
DELETE FROM Customers;
• Primer 3:
DELETE * FROM Customers;
40
SQL:
Sintaksa – poizvedovanje iz več tabel
• Sintaksa:
SELECT tabela1.ime_stolpca, tabela2.ime_stolpca, …
FROM tabela1, tabela2, …
WHERE pogoj;
41
SQL:
Sintaksa – CREATE
• CREATE – kreiranje nove tabele
• Sintaksa:
CREATE TABLE ime_tabele (
stolpec1 podatkovni_tip,
stolpec2 podatkovni_tip,
….
);
• Primer:
CREATE TABLE Persons (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
42
SQL:
Sintaksa – DROP, ALTER
• DROP – brisanje tabele
• Sintaksa:
DROP TABLE ime_tabele;
• ALTER – dodajanje, brisanje, ali spreminjanje stolpcev v tabeli
• Sintaksa:
ALTER TABLE ime_tabele
ADD ime_stolpca podatkovni_tip;
https://www.w3resource.com/sql-exercises/sql-exercises-quering-on-
multiple-table.php
44
Zaključek
• Podatkovne baze
45