Методические указания по их использованию. Пособие содержит большое количество примеров на использование операторов sql, которые могут быть полезны как на этапе освоения материала, так и выступать в качестве вопросов для самопроверки



Download 441,57 Kb.
bet13/71
Sana15.01.2023
Hajmi441,57 Kb.
#899634
TuriМетодические указания
1   ...   9   10   11   12   13   14   15   16   ...   71
Bog'liq
Методичка SQL(14) (оптимизация)

Продукт

Количество

Цена

1

108

429,84

2

0

0,00

3

73

274,61

4

39

97,46

5

61

111,83

6

88

206,60

7

214

83,80

8

92

82,80

9

0

0,00

10

77

46,30

11

46

51,70

12

13

34,96

13

54

51,17

14

91

43,77

15

117

189,92

16

98

96,14

17



37

166,50


Блюдо

Вид

Дата

1

1

2011-01-02

2

1

2011-01-02

2

1

2011-01-03

4

1

2011-01-03

9

2

2011-01-02

10

2

2011-01-03

12

2

2011-01-02

14

3

2011-01-02

15

3

2011-01-02

15

3

2011-01-03

16

3

2011-01-03

25

4

2011-01-03

27

4

2011-01-02

30

5

2011-01-03

33

5

2011-01-02








Таблица Заказ. Таблица Справочник_вид_блюда.



ID_заказ

Блюдо

Количество_порций

Дата

1

1

10

2011-01-02

1

14

4

2011-01-02

1

15

6

2011-01-02

2

27

2

2011-01-02

2

33

2

2011-01-02

3

2

3

2011-01-03

3

15

2

2011-01-03

3

16

1

2011-01-03

4

25

1

2011-01-03

5

4

3

2011-01-03













ID_вид

Вид

1

Закуска

2

Суп

3

Горячее

4

Десерт

5

Напиток


Глава 3. Выборка данных.


Все запросы на получение практически любого количества данных из одной или нескольких таблиц выполняются с помощью единственного оператора SELECT. В общем случае результатом выполнения оператора SELECT является другая таблица. К этой новой (рабочей) таблице может быть снова применена операция SELECT и т.д., т.е. такие операции могут быть вложены друг в друга. Представляет исторический интерес тот факт, что именно возможность включения одного предложения SELECT внутрь другого послужила мотивировкой использования прилагательного "структурированный" в названии языка SQL.

3.1. Оператор SELECT. Синтаксис.


Оператор SELECT может использоваться как:

  • самостоятельная команда на получение и вывод строк таблицы, сформированной из столбцов и строк одной или нескольких таблиц (представлений);

  • элемент WHERE- или HAVING-условия (сокращенный вариант предложения, называемый "вложенный запрос");

  • фраза выбора в командах CREAT VIEW, DECLARE CURSOR или INSERT;

  • средство присвоения глобальным переменным значений из строк сформированной таблицы (INTO-фраза).

Оператор SELECT (выбрать) имеет следующий формат:




SELECT [[ALL] | DISTINCT] [ТОР n [PERCENT]] [WITH TIES] {* | элемент_SELECT [, элемент_SELECT] ...}
FROM таблица [псевдоним] [, таблица [псевдоним]] ...
[WHERE условие_отбора_строк]
[GROUP BY [таблица.]столбец [, [таблица.]столбец] ...
[HAVING условие_отбора_групп]]
[ORDER BY {[таблица.]столбец | номер_элемента_SELECT} [[ASC] | DESC]
[, {[таблица.]столбец | номер_элемента_SELECT } [ [ASC] | DESC] ] ...] ];

Этот оператор можно прочитать следующим образом:



  • SELECT (выбрать) — данные из указанных столбцов и (если необходимо) выполнить перед выводом их преобразование в соответствии с указанными выражениями и (или) функциями

  • FROM (из) — перечисленных таблиц, в которых расположены эти столбцы

  • WHERE (где) — строки из указанных таблиц должны удовлетворять указанному перечню условий отбора строк

  • GROUP BY (группируя по) — указанному перечню столбцов с тем, чтобы получить для каждой группы единственное агрегированное значение, используя во фразе SELECT SQL-функции SUM (сумма), COUNT (количество), MIN (минимальное значение), MAX (максимальное значение) или AVG (среднее значение)

  • HAVING (имея) — в результате лишь те группы, которые удовлетворяют указанному перечню условий отбора групп

  • ORDER BY (упорядочить) — результаты выбора данных по указанному перечню столбцов. При этом упорядочение можно производить в порядке возрастания - ASC (ASCending)(по умолчанию) или убывания DESC (DESCending).

Рассмотрим каждую строку этого оператора подробно.
Раздел SELECT.
В разделе SELECT указывается список столбцов, которые будут включены в результат выборки. Структура раздела SELECT следующая:


SELECT [[ALL] | DISTINCT] [ТОР n [PERCENT]] [WITH TIES] {* | элемент_SELECT [, элемент_SELECT]...}

Параметры раздела обозначают следующее:


ALL – указывает, что в результат выборки должны быть включены все строки возвращаемые запросом, т.е. выборка может содержать повторяющиеся строки (используется по умолчанию).
DISTINCT – позволяет исключить из выборки повторяющиеся строки.
ТОР n [PERCENT] [WITH TIES] – ограничивает количество строк в выборке. Параметр n задает максимальное количество строк, при указании параметра PERCENT количество строк задается в процентах от общего числа строк, возвращаемых запросом.
*- означает включение в результат выборки всех столбцов всех таблиц, участвующих в запросе и указанных в разделе FROM. При этом порядок вывода полей соответствует порядку, в котором эти поля определялись при создании таблиц.
элемент_SELECT – список столбцов, которые включены в результат выборки. Структура этой конструкции следующая:
элемент_SELECT = {[таблица.]* | [таблица.]столбец [AS псевдоним] | (выражение) [AS псевдоним] | константа [AS псевдоним] | переменная [AS псевдоним] | SQL_функция [AS псевдоним]}
термин таблица – используется для обобщения понятий: базовая таблица, представление.
выражение – подразумевает выражение, на основе которого будет формироваться содержимое столбца.
AS псевдоним – определение псевдонима для столбца.
Раздел FROM.
Раздел FROM содержит список таблиц, из которых будет производиться выборка данных.
Структура раздела FROM следующая:
FROM таблица [псевдоним] [, таблица [псевдоним]] ...
псевдоним - позволяет присвоить таблице имя, под которым на неё можно будет ссылаться в запросе, служит для упрощения вида запроса при работе с длинными именами таблиц и для именования временных таблиц (полученных в результате выполнения оператора SELECT)
Также в разделе FROM можно указать метод связывания таблиц между собой (фраза JOIN будет рассмотрена в п. 3.4.)
Следует обратить внимание на тот факт, что если даже ни один из столбцов таблицы не включен в результат запроса, но используется в других разделах запроса, то имя этой таблицы также должно быть указано в разделе FROM.


3.2. Примеры запросов с использованием единственной таблицы.

3.2.1. Выборка без использования фразы WHERE.

3.2.1.1. Простейшие примеры.


Пример 1.
Для каждого продукта, используемого в ресторане, указать количество белков, жиров и углеводов.
SELECT Продукт, Белки, Жиры, Углеводы
FROM Продукты;
дает результат

Результат










Продукт

Белки

Жиры

Углеводы

Говядина

189

124

NULL

Судак

190

80

NULL

Масло

60

825

90

Майонез

31

670

26

Яйца

127

115

7












Кофе

127

36

9

При необходимости получения полной информации о продуктах, можно было бы дать запрос


SELECT ID_продукта, Продукт, Белки, Жиры, Углеводы, К, Са, Na, В2, РР, С
FROM Продукты;
или использовать его более короткую нотацию:

SELECT *

Результат




Основа

Кофе

Крупа

Молок

Мясо

Овощи

Рыба

Фрукты

Яйца
FROM Продукты;

Результат




Основа

Овощи

Мясо

Овощи

Рыба

Рыба

Мясо

Молоко



Кофе

Пример 2.


Выдать основу всех блюд:

Download 441,57 Kb.

Do'stlaringiz bilan baham:
1   ...   9   10   11   12   13   14   15   16   ...   71




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish