Académique Documents
Professionnel Documents
Culture Documents
3 800
Select sintaksa: 4 400
SELECT column(s)FROM tabela
Primjer:
SELECT * FROM tabela
SELECT DISTINCT price
Store tabela: FROM store;
OBJECT_ID PRICE PRICE
1 100 100
2 300 400
3 800 800
4 300
Primjer 1: WHERE
SELECT * FROM store;
Where sintaksa:
OBJECT_ID PRICE SELECT column_name(s)
1 100 FROM tabela_name
2 300 WHERE condition
3 800
4 300 Store tabela:
OBJECT_ID PRICE
Primjer 2:
1 200
SELECT price FROM store;
2 500
PRICE 3 900
100 4 500
300
800 Primjer 1:
300 SELECT *
FROM store
WHERE price = 500;
DISTINCT
OBJECT_ID PRICE
Distinct sintaksa: 2 500
SELECT DISTINCT column_name 4 500
FROM tabela_name;
Primjer 2:
Store tabela: SELECT *
OBJECT_ID PRICE FROM store
1 100 WHERE price > 500;
OBJECT_ID PRICE Store tabela:
3 900 OBJECT_ID PRICE NAME
1 200 A
AND & OR 2 500 B
3 900 C
Store tabela:
4500 D
OBJECT_ID PRICE NAME
1 200 A Primjer 1:
2 500 B SELECT *
3 900 C FROM store
4 500 D ORDER BY price, name;
OBJECT_ID PRICE NAME
Primjer 1: 1 200 A
SELECT * 500 B
FROM store 4 500 D
WHERE name='B' AND price = 500; 900 C
OBJECT_ID PRICE NAME
Primjer 2:
2 500 B
SELECT *
Primjer 2: FROM store
SELECT * FROM store WHERE name='B' OR price = 500; ORDER BY name DESC;
OBJECT_ID PRICE NAME OBJECT_ID PRICE NAME
2 500 B 3 500 D
4 500 D 3 900 C
Primjer 3: 2 500 B
1 200 A
SELECT * FROM store
WHERE price = 900 AND (name='A' OR name='C');
OBJECT_ID PRICE NAME GROUP BY
1 900 C Group By sintaksa:
SELECT column_name1, aggregate_function(column_name2)
ORDER BY FROM tabela GROUP BY column_name1
Order By sintaksa: Store tabela:
SELECT column_name(s) OBJECT_ID PRICE TYPE
FROM tabela_name 1 200 LOW
ORDER BY column_name(s) ASC|DESC 2 500 MEDIUM
3 900 HIGH
4 500 MEDIUM Ellen 1200
Primjer:
SELECT type, SUM(price) LIKE
FROM store
Like sintaksa:
GROUP BY type;
SELECT column(s)
TYPE PRICE FROM tabela
LOW 200 WHERE column
MEDIUM 1000 LIKE pattern
HIGH 900
Employee tabela:
EMPLOYEE_ID NAME DEP_ID
HAVING
1 John 21
Having sintaksa: 2 Samantha 22
SELECT column_name(s), aggregate_function (column_name) 3 Tom 23
FROM my_tabela 4 James 24
WHERE condition {optional} 5 Sandra 24
GROUP BY column_name(s)
Like Primjer 1:
HAVING (aggregate_function condition)
Pronaći uposlenike čija imena sadržavaju slova am.
Having Primjer: SELECT *
FROM employee
Sales tabela:
WHERE name
ID PRICE CUSTOMER LIKE '%am%';
1 200 David
2 500 Linda Like Result:
3 900 Tom EMPLOYEE_ID NAME DEP_ID
4 500 David 2 Samantha 22
5 1200 Ellen 4 James 24
6 1200 Linda Like Primjer 2:
SELECT customer, SUM(price) Find the employee names that begin with: J. SELECT *
FROM sales FROM employee
GROUP BY customer WHERE name
HAVING SUM(price) > 1000 LIKE 'J%';
Having Result: Like Result:
customer SUM(price) EMPLOYEE_ID NAME DEP_ID
Linda 1700 1 John 21
4 James 24 2 500 B
3 900 C
Like Primjer 3:
4 500 D
Pronaći uposlenike čije imena završavaju slovom a.
SELECT * 5 600 E
FROM employee 6 400 F
WHERE name
LIKE '%a'; UPDATE
Like Result: Update sintaksa:
EMPLOYEE_ID NAME DEP_ID UPDATE tabela_name SET column1 = new_value1, column2 =
1 Samantha 22 new_value2,... WHERE {condition}
5 Sandra 24 IF you don't put the {condition} then all records on the
updated column will be chenged.
INSERT INTO Store tabela:
OBJECT_ID PRICE NAME
Insert into sintaksa:
1 200 A
INSERT INTO tabela_name
2 500 B
VALUES (value1, value2, ...)
OR 3 900 C
INSERT INTO tabela_name (column1, column2, ...) 4 500 D
VALUES (value1, value2, ...) Primjer 1:
Store tabela: UPDATE store SET price = 300
OBJECT_ID PRICE NAME WHERE object_id=1 AND name='A';
1 200 A
2 500 B SELECT * FROM store
WHERE object_id=1 AND name='A';
3 900 C
4 500 D OBJECT_ID PRICE NAME
1 300 A
Primjer 1:
INSERT INTO store
Primjer 2:
VALUES (5, 600, 'E'); UPDATE store SET price = 1000, name = 'Y' WHERE
object_id=3;
Primjer 2: SELECT * FROM store WHERE object_id=3;
INSERT INTO store(object_id, price, name) OBJECT_ID PRICE NAME
VALUES (6, 400, 'F'); 3 1000 Y
OBJECT_ID PRICE NAME
1 200 A
DELETE 1 1 40
2 2 50
Delete sintaksa: 3 3 70
DELETE FROM tabela_name WHERE {condition} 4 1 100
Ukoliko se ne postaviti uslov svi zapisi (rekordi, slogovi) 5 2 120
će biti IZBRISANI iz tabele 6 4 90
7 3 200
Store tabela:
8 2 150
OBJECT_ID PRICE NAME
1 200 A Join Result:
2 500 B STUDENT_ID NAME BOOK_ID PRICE
3 900 C 1 STUDENT_1 4
4 500 D 100
2 STUDENT_2 5
Primjer: 120
DELETE FROM store
3 STUDENT_3 7
WHERE price=500;
200
SELECT * FROM store;
2 STUDENT_2 8
OBJECT_ID PRICE NAME 150
1 200 A
3 900 C
INNER JOIN
JOIN Inner Join Primjer:
SELECT s.student_id, s.name,
Join Primjer: SUM(b.price)
SELECT s.student_id, s.name, b.book_id, b.price FROM students s
FROM students s, books b INNER JOIN books b
WHERE s.student_id = b.student_id AND b.price > 90; ON s.student_id = b.student_id GROUP BY b.price;
Students tabela: Students tabela:
STUDENT_ID NAME YEAR
STUDENT_ID NAME YEAR
1 STUDENT_1 I 1 STUDENT_1 I
2 STUDENT_2 II 2 STUDENT_2 II
3 STUDENT_3 III 3 STUDENT_3 III
4 STUDENT_4 IV 4 STUDENT_4 IV
Books tabela: Books tabela:
BOOK_ID STUDENT_ID PRICE BOOK_ID STUDENT_ID PRICE
1 1 40 5 2 120
2 2 50 6 4 90
3 3 70 7 3 200
4 1 100 8 2 150
5 2 120
6 4 90 Left Join Result:
7 3 200 STUDENT_ID NAME PRICE
8 2 1 STUDENT_1 40
STUDENT_1 100
Inner Join Result: 150 STUDENT_2 50
STUDENT_ID NAME PRICE 2 STUDENT_2 120
1 STUDENT_1 140 STUDENT_2 150
2 STUDENT_2 320 STUDENT_3 70
3 STUDENT_3 270 3 STUDENT_3 200
4 STUDENT_4 90 4 STUDENT_4 90
1 EMPLOYEE_1 21
LEFT JOIN 2 EMPLOYEE_2 22
3 EMPLOYEE_3 234 EMPLOYEE_4 24
Left Join Primjer: STUDENT_5
SELECT s.student_id, s.name, b.price STUDENT_6
FROM students s LEFT JOIN books b
ON s.student_id = b.student_id ORDER BY s.student_id ; RIGHT JOIN
Students tabela:
Right Join Primjer:
STUDENT_ID NAME YEAR
SELECT * FROM employee e
1 STUDENT_1 I
RIGHT JOIN department d
2 STUDENT_2 II
ON e.DEP_ID = d.DEP_ID
3 STUDENT_3 III
ORDER BY d.DEP_ID ;
4 STUDENT_4 IV
5 STUDENT_5 I Employee tabela:
6 STUDENT_6 IV EMPLOYEE_ID NAME DEP_ID
5 EMPLOYEE_5
Books tabela:
BOOK_ID STUDENT_ID PRICE Department tabela:
1 1 40 DEP_IDDEP_NAME
2 2 50 21 DEP_21
3 3 70 22 DEP_22
4 1 100 23 DEP_23
24 DEP_24 Full Join Result:
25 DEP_25 EMPLOYEE_ID NAME DEP_ID DEP_ID DEP_NAME
1 EMPLOYEE_1 21 21
Right Join Result:
DEP_21
EMPLOYEE_ID NAME DEP_ID DEP_ID DEP_NAME
EMPLOYEE_2 22 22 DEP_22
1 EMPLOYEE_1 21 21 DEP_21
EMPLOYEE_3 23 23 DEP_23
2 EMPLOYEE_2 22 22 DEP_22
EMPLOYEE_4 24 24 DEP_24
3 EMPLOYEE_3 23 23 DEP_23
EMPLOYEE_5
4 EMPLOYEE_4 24 24 DEP_24 25 DEP_25
25 DEP_25
UNION
FULL JOIN
Union sintaksa:
Full Join Primjer: SELECT column_name(s)
SELECT * FROM employee e FROM tabela_name_a
FULL JOIN department d UNION
ON e.DEP_ID = d.DEP_ID SELECT column_name(s)
ORDER BY e.employee_id ; FROM tabela_name_b
Employee tabela: Union All sintaksa:
EMPLOYEE_ID NAME DEP_ID SELECT column_name(s)
1 EMPLOYEE_1 21 FROM tabela_name_a
UNION ALL
2 EMPLOYEE_2 22 SELECT column_name(s)
FROM tabela_name_b
3 EMPLOYEE_3 23
Employee_a Employee_b id name id name 1 Martin 1
EMPLOYEE_4 24 David
EMPLOYEE_5 2 Carol 2 Barbara
3 Davis 3 Carol
Department tabela: 4 Sandra 4 Sandra
DEP_IDDEP_NAME
UNION Primjer:
21 DEP_21
SELECT * FROM employee_a
22 DEP_22
UNION
23 DEP_23 SELECT * FROM employee_b;
24 DEP_24
25 DEP_25 UNION Result:
1 Martin
2 Carol EMPLOYEE_ID NAME DEP_ID
3 Davis 1 EMPLOYEE_1 21
4 Sandra 2 EMPLOYEE_2 22
1 David 3 EMPLOYEE_3 23
2 Barbara TOP percent Primjer:
3 Carol SELECT TOP 50 PERCENT * FROM employee;
UNION ALL Primjer: TOP Result:
SELECT * FROM employee_a
EMPLOYEE_ID NAME DEP_ID
UNION ALL
1 EMPLOYEE_1 21
SELECT * FROM employee_b;
2 EMPLOYEE_2 22
UNION ALL Result:
1 Martin WILDCARD
2 Carol Wildcard Definition
3 Davis % – mijenja jedan ili više karaktera
4 Sandra _ – mijenja tačno jedan karakter
1 David [char list] –
2 Barbara lista karaktera pri čemu se pretraga vrši po svakom od
3 Carol navenih karaktera
4 Sandra
[^char list]
TOP
Represents any single character not in
TOP sintaksa: or charlist
SELECT TOP number column_name(s) FROM tabela_name [!char list]
SELECT TOP percent column_name(s) FROM tabela_name lista karaktera koji se isključuju iz rezultata pretrage,
pri čemu se pretraga vrši po svakom od navenih karaktera
Employee tabela:
EMPLOYEE_ID NAME DEP_ID Students tabela:
1 EMPLOYEE_1 21 ID NAME STATE
2 EMPLOYEE_2 22 1 Tom Arizona
3 EMPLOYEE_3 23 2 Martin Texas
4 EMPLOYEE_4 24 3 Helen Florida
4 Tania California
TOP number Primjer: 5 Harry Colorado
SELECT TOP 3 * FROM employee;
_ Wildcard Primjer:
TOP Result:
Selektirati studente čija imena počinju bilo kojim SELECT column_name(s)
karakterom a zatim se nastavljaju slovima ar. FROM tabela_name
SELECT * WHERE column_name
FROM students IN (value1,value2,value3,...)
WHERE name
Employee tabela:
LIKE '_ar';
EMPLOYEE_ID NAME DEP_ID
_ Wildcard Result: 1 John 33
ID NAME STATE 2 Samantha 34
2 Martin Texas 3 Bill 35
5 Harry Colorado 4 James 36
[char list] Wildcard Primjer: 5 Sandra 37
Selektirati sve studente čija imena počinju bilo kojim In Primjer:
karakterom iz navedene liste. SELECT * FROM employee
SELECT * WHERE name
FROM students IN ('Samantha', 'Bill', 'Sandra');
WHERE name
LIKE '[tma]%'; In Result:
1 Samantha 34
[char list] Wildcard Result: 2 Bill 35
1 Tom Arizona 3 Sandra 37
2 Martin Texas
4 Tania California
BETWEEN
[!char list] Wildcard Primjer:
Selektirati sve studente čija imena ne počinju ni jednim Between sintaksa:
karaterom iz liste. SELECT column_name(s)
SELECT * FROM tabela_name
FROM students WHERE column_name BETWEEN value_a AND value_b
WHERE name Employee tabela:
LIKE '[!tma]%';
EMPLOYEE_ID NAME DEP_ID
[!char list] Wildcard Result: 1 John 33
3 Helen Florida 2 Samantha 34
5 Harry Colorado 3 Bill 35
4 James 36
IN 5 Sandra 37
Drop View
Drop View Syntax
DROP VIEW View_Name;
Drop View Example
CREATE VIEW CountriesView
AS
SELECT * FROM countries ;
DROP VIEW CountriesView;
CREATE A PRIMARY KEY name varchar(250) );
GO
To create a primary key in a table, use the command alter
Create Constraint Foreign Key
table with add constraint.
USE tempdb;
Departments table
GO
USE tempdb;
ALTER TABLE dbo.EMPLOYEES
GO
ADD CONSTRAINT
CREATE TABLE dbo.departments
FK_DEPT_ID FOREIGN KEY(DEPT_ID)
(
REFERENCES dbo.DEPARTMENTS(ID);
id int NOT NULL,
GO
name varchar(250)
); Disable a Foreign Key
GO To disable a foreign key constraint, use the command alter
table with NOCHECK constraint.
Create Constraint Primary Key
Status Foreign Key
USE tempdb;
select name, type_desc, is_disabled from sys.foreign_keys;
GO
ALTER TABLE dbo.departments
ADD CONSTRAINT PK_DEP_ID
PRIMARY KEY CLUSTERED (ID);
GO
Create a Foreign Key
To Create a foreign key in an existing table, use the
command alter table with add constraint.
Employees table
USE tempdb;
GO
CREATE TABLE dbo.EMPLOYEES(
ID INT NULL,
NAME VARCHAR (250) NULL,
JOB VARCHAR (30) NULL,
DEPT_ID INT NULL );
GO
Departments table
USE tempdb;
GO
CREATE TABLE dbo.departments(
id int NOT NULL,