Базы данных. Великий и ужасный select

Содержание

Слайд 2

ПРЕДЛОЖЕНИЯ SQL ВЫБОРКА - SELECT SELECT [предикат] { * | таблица.*

ПРЕДЛОЖЕНИЯ SQL ВЫБОРКА - SELECT

SELECT [предикат] { * | таблица.* | [таблица.]поле_1

[AS псевдоним_1] [, [таблица.]поле_2 [AS псевдоним_2] [, ...]]} FROM выражение [, ...] [IN внешняяБазаДанных] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY... ] [WITH OWNERACCESS OPTION]
Слайд 3

ПРЕДЛОЖЕНИЯ SQL ПРОСТЕЙШИЙ ВАРИАНТ SELECT’а SELECT column_name FROM table_name;

ПРЕДЛОЖЕНИЯ SQL ПРОСТЕЙШИЙ ВАРИАНТ SELECT’а

SELECT column_name FROM table_name;

Слайд 4

ПРЕДЛОЖЕНИЯ SQL ПРОСТЕЙШИЙ ВАРИАНТ SELECT’а Persons SELECT LastName, FirstName FROM Persons;

ПРЕДЛОЖЕНИЯ SQL ПРОСТЕЙШИЙ ВАРИАНТ SELECT’а

Persons

SELECT LastName, FirstName FROM Persons;

Слайд 5

ПРЕДЛОЖЕНИЯ SQL ПРОСТЕЙШИЙ ВАРИАНТ SELECT’а SELECT * FROM Persons; Persons

ПРЕДЛОЖЕНИЯ SQL ПРОСТЕЙШИЙ ВАРИАНТ SELECT’а

SELECT * FROM Persons;

Persons

Слайд 6

ПРЕДЛОЖЕНИЯ SQL АЛИАСЫ SELECT column AS column_alias FROM table; SELECT column FROM table AS table_alias;

ПРЕДЛОЖЕНИЯ SQL АЛИАСЫ

SELECT column AS column_alias FROM table;

SELECT column FROM table

AS table_alias;
Слайд 7

ПРЕДЛОЖЕНИЯ SQL АЛИАСЫ Persons SELECT LastName AS Family, FirstName AS Name FROM Persons;

ПРЕДЛОЖЕНИЯ SQL АЛИАСЫ

Persons

SELECT LastName AS Family, FirstName AS Name FROM Persons;

Слайд 8

ПРЕДЛОЖЕНИЯ SQL АЛИАСЫ Persons SELECT LastName, FirstName FROM Persons AS Employees Employees

ПРЕДЛОЖЕНИЯ SQL АЛИАСЫ

Persons

SELECT LastName, FirstName FROM Persons AS Employees

Employees

Слайд 9

ПРЕДЛОЖЕНИЯ SQL SELECT без повторов SELECT DISTINCT column_name(s) FROM table_name;

ПРЕДЛОЖЕНИЯ SQL SELECT без повторов

SELECT DISTINCT column_name(s) FROM table_name;

Слайд 10

ПРЕДЛОЖЕНИЯ SQL SELECT без повторов "Orders" SELECT Company FROM Orders; SELECT DISTINCT Company FROM Orders;

ПРЕДЛОЖЕНИЯ SQL SELECT без повторов

"Orders"

SELECT Company
FROM Orders;

SELECT DISTINCT Company
FROM Orders;


Слайд 11

ПРЕДЛОЖЕНИЯ SQL SELECT с условием SELECT column FROM table WHERE column operator value;

ПРЕДЛОЖЕНИЯ SQL SELECT с условием

SELECT column FROM table
WHERE column operator value;


Слайд 12

ПРЕДЛОЖЕНИЯ SQL SELECT с условием SELECT * FROM Persons WHERE City='Sandnes‘; "Persons"

ПРЕДЛОЖЕНИЯ SQL SELECT с условием

SELECT * FROM Persons WHERE City='Sandnes‘;

"Persons"

Слайд 13

ПРЕДЛОЖЕНИЯ SQL SELECT с условием SELECT * FROM Persons WHERE FirstName='Tove';

ПРЕДЛОЖЕНИЯ SQL SELECT с условием

SELECT * FROM Persons WHERE FirstName='Tove';

SELECT *

FROM Persons WHERE FirstName=Tove;

SELECT * FROM Persons WHERE Year>1965;

SELECT * FROM Persons WHERE Year>'1965';



Слайд 14

ПРЕДЛОЖЕНИЯ SQL SELECT с условием LIKE SELECT column FROM table WHERE column LIKE pattern;

ПРЕДЛОЖЕНИЯ SQL SELECT с условием LIKE

SELECT column FROM table
WHERE column LIKE

pattern;
Слайд 15

ПРЕДЛОЖЕНИЯ SQL SELECT с условием LIKE Store_Information SELECT * FROM Store_Information WHERE store_name LIKE '%AN%‘;

ПРЕДЛОЖЕНИЯ SQL SELECT с условием LIKE

Store_Information

SELECT * FROM Store_Information
WHERE store_name LIKE

'%AN%‘;
Слайд 16

ПРЕДЛОЖЕНИЯ SQL SELECT с условием LIKE SELECT * FROM Persons WHERE

ПРЕДЛОЖЕНИЯ SQL SELECT с условием LIKE

SELECT * FROM Persons WHERE FirstName LIKE

'O%';

SELECT * FROM Persons WHERE FirstName LIKE '%a';

SELECT * FROM Persons WHERE FirstName LIKE '%la%';

SELECT * FROM Persons WHERE FirstName LIKE ‘*la*';

SELECT * FROM Persons WHERE FirstName LIKE '%la_ _ _a';

Слайд 17

ПРЕДЛОЖЕНИЯ SQL BETWEEN SELECT column_name FROM table_name WHERE column_name BETWEEN value1

ПРЕДЛОЖЕНИЯ SQL BETWEEN

SELECT column_name FROM table_name
WHERE column_name BETWEEN value1 AND value2;


ЗАВИСИТ ОТ КОНКРЕТНОЙ СУБД!

Слайд 18

ПРЕДЛОЖЕНИЯ SQL BETWEEN SELECT * FROM Persons WHERE LastName BETWEEN 'Hansen' AND 'Pettersen';

ПРЕДЛОЖЕНИЯ SQL BETWEEN

SELECT * FROM Persons
WHERE LastName BETWEEN 'Hansen' AND 'Pettersen';

Слайд 19

ПРЕДЛОЖЕНИЯ SQL BETWEEN SELECT * FROM Persons WHERE LastName NOT BETWEEN 'Hansen' AND 'Pettersen';

ПРЕДЛОЖЕНИЯ SQL BETWEEN

SELECT * FROM Persons
WHERE LastName NOT BETWEEN 'Hansen' AND

'Pettersen';
Слайд 20

ПРЕДЛОЖЕНИЯ SQL ORDER BY Orders SELECT Company, OrderNumber FROM Orders ORDER BY Company;

ПРЕДЛОЖЕНИЯ SQL ORDER BY

Orders

SELECT Company, OrderNumber
FROM Orders
ORDER BY Company;

Слайд 21

ПРЕДЛОЖЕНИЯ SQL ORDER BY Orders SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber;

ПРЕДЛОЖЕНИЯ SQL ORDER BY

Orders

SELECT Company, OrderNumber
FROM Orders
ORDER BY Company,

OrderNumber;
Слайд 22

ПРЕДЛОЖЕНИЯ SQL ORDER BY Orders SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC;

ПРЕДЛОЖЕНИЯ SQL ORDER BY

Orders

SELECT Company, OrderNumber
FROM Orders
ORDER BY Company DESC;


Слайд 23

ПРЕДЛОЖЕНИЯ SQL ORDER BY Orders SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC;

ПРЕДЛОЖЕНИЯ SQL ORDER BY

Orders

SELECT Company, OrderNumber
FROM Orders
ORDER BY Company DESC,


OrderNumber ASC;
Слайд 24

ПРЕДЛОЖЕНИЯ SQL ORDER BY SELECT store_name, Sales, Date FROM Store_Information ORDER

ПРЕДЛОЖЕНИЯ SQL ORDER BY

SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY 2

DESC

ПО ВТОРОМУ СТОЛБЦУ

Слайд 25

ПРЕДЛОЖЕНИЯ SQL AND & OR SELECT * FROM Persons WHERE FirstName='Tove' AND LastName='Svendson';

ПРЕДЛОЖЕНИЯ SQL AND & OR

SELECT * FROM Persons
WHERE FirstName='Tove' AND

LastName='Svendson';
Слайд 26

ПРЕДЛОЖЕНИЯ SQL AND & OR SELECT * FROM Persons WHERE firstname='Tove' OR lastname='Svendson' ;

ПРЕДЛОЖЕНИЯ SQL AND & OR

SELECT * FROM Persons
WHERE firstname='Tove' OR

lastname='Svendson' ;
Слайд 27

ПРЕДЛОЖЕНИЯ SQL AND & OR SELECT * FROM Persons WHERE (FirstName='Tove' OR FirstName='Stephen') AND LastName='Svendson' ;

ПРЕДЛОЖЕНИЯ SQL AND & OR

SELECT * FROM Persons
WHERE (FirstName='Tove' OR

FirstName='Stephen')
AND LastName='Svendson' ;
Слайд 28

ПРЕДЛОЖЕНИЯ SQL AND & OR Store_Information SELECT store_name FROM Store_Information WHERE

ПРЕДЛОЖЕНИЯ SQL AND & OR

Store_Information

SELECT store_name FROM Store_Information
WHERE Sales >

1000 OR (Sales < 500 AND Sales > 275);
Слайд 29

ПРЕДЛОЖЕНИЯ SQL ФУНКЦИИ SELECT function(column) FROM table; AVG – среднее значение

ПРЕДЛОЖЕНИЯ SQL ФУНКЦИИ

SELECT function(column) FROM table;

AVG – среднее значение в столбце
COUNT

– число значений в столбце
MAX – самое большое значение в столбце
MIN – самое малое значение в столбце
SUM – сумма значений по столбцу
Слайд 30

ПРЕДЛОЖЕНИЯ SQL AVG Persons SELECT AVG(Age) FROM Persons 32.67 SELECT AVG(Age) FROM Persons WHERE Age>20 39.5

ПРЕДЛОЖЕНИЯ SQL AVG

Persons

SELECT AVG(Age) FROM Persons

32.67

SELECT AVG(Age) FROM Persons

WHERE Age>20

39.5

Слайд 31

ПРЕДЛОЖЕНИЯ SQL COUNT Store_Information SELECT COUNT(store_name) FROM Store_Information;

ПРЕДЛОЖЕНИЯ SQL COUNT

Store_Information

SELECT COUNT(store_name) FROM Store_Information;

Слайд 32

ПРЕДЛОЖЕНИЯ SQL COUNT Store_Information SELECT COUNT(DISTINCT store_name) FROM Store_Information;

ПРЕДЛОЖЕНИЯ SQL COUNT

Store_Information

SELECT COUNT(DISTINCT store_name) FROM Store_Information;

Слайд 33

ПРЕДЛОЖЕНИЯ SQL MAX SELECT MAX(Age) FROM Persons Persons 45

ПРЕДЛОЖЕНИЯ SQL MAX

SELECT MAX(Age) FROM Persons

Persons

45

Слайд 34

ПРЕДЛОЖЕНИЯ SQL MIN Persons SELECT MIN(Age) FROM Persons 19

ПРЕДЛОЖЕНИЯ SQL MIN

Persons

SELECT MIN(Age) FROM Persons

19

Слайд 35

ПРЕДЛОЖЕНИЯ SQL SUM Store_Information SELECT SUM(Sales) FROM Store_Information; $1500 + $250

ПРЕДЛОЖЕНИЯ SQL SUM

Store_Information

SELECT SUM(Sales) FROM Store_Information;

$1500 + $250 + $300 +

$700 = $2750
Слайд 36

Некоторые функции MS Access

Некоторые функции MS Access

Слайд 37

Некоторые функции MS Access

Некоторые функции MS Access

Слайд 38

Некоторые функции MS SQL Server

Некоторые функции MS SQL Server

Слайд 39

ПРЕДЛОЖЕНИЯ SQL SELECT IN SELECT column_name FROM table_name WHERE column_name IN

ПРЕДЛОЖЕНИЯ SQL SELECT IN

SELECT column_name FROM table_name
WHERE column_name IN (value1,value2,..);

SELECT *

FROM Persons WHERE LastName IN ('Hansen','Pettersen');
Слайд 40

где, expression — любое символьное выражение pattern — шаблон, по которому

где, expression — любое символьное выражение
pattern — шаблон, по которому будет происходить проверка выражения expression. Шаблон

может включать в себя следующие спец. символы:
Слайд 41

Примеры оператора SQL LIKE SELECT * FROM Universities WHERE Site LIKE

Примеры оператора SQL LIKE

SELECT * FROM Universities WHERE Site LIKE '[k-o]%‘
SELECT

* FROM Universities WHERE Location LIKE '_[^e-s]%'
Слайд 42

SELECT * FROM Universities WHERE Site LIKE '_ _ _ _.ru

SELECT * FROM Universities WHERE Site LIKE '_ _ _ _.ru

Слайд 43

SELECT * FROM Universities WHERE Site LIKE '[k-o]%'

SELECT * FROM Universities WHERE Site LIKE '[k-o]%'

Слайд 44

SELECT * FROM Universities WHERE Location LIKE '_[^e-s]%'

SELECT * FROM Universities WHERE Location LIKE '_[^e-s]%'

Слайд 45

SELECT supplier_city, supplier_state FROM suppliers WHERE supplier_name = 'Intel' ORDER BY

SELECT supplier_city, supplier_state
FROM suppliers
WHERE supplier_name = 'Intel'
ORDER BY supplier_city DESC, supplier_state

ASC;
возвращает все отсортированные записи по полю supplier_city в порядке убывания,
а по полю supplier_state в порядке возрастания