Запросы на выборку данных

Содержание

Слайд 2

Содержание Синтаксис запросов на выборку Сортировка и выбор первых Математические операции

Содержание

Синтаксис запросов на выборку

Сортировка и выбор первых

Математические операции в запросах

Задание

Домашнее задание

Переименование

столбца в запросе

Работа с датой

Математические функции

Агрегатные функции

Контрольные вопросы

Список литературы

Слайд 3

Синтаксис запросов на выборку SELECT FROM WHERE Условие не является обязательной

Синтаксис запросов на выборку

SELECT <что выбираем? (название столбца)>
FROM <откуда выбираем? (название таблицы)>
WHERE

<условие>

Условие не является обязательной частью запроса.
Если необходимо выбрать несколько столбцов, их названия перечисляются друг за другом через запятую.
Если необходимо выбрать названия всех столбцов, можно заменить их перечисление символом *.
В условии можно использовать операции сравнения (<,>,<=,>=), ключевое слово LIKE (NOT LIKE) и ключевое слово IN (NOT IN).
В случае если в запросе необходимо учитывать несколько условий, их указывают через ключевые слова AND или OR.

Слайд 4

Пример 1 Допустим, необходимо получить название животного и его продолжительность жизни.

Пример 1

Допустим, необходимо получить название животного и его продолжительность жизни. Тогда

запрос на выборку данных будет выглядеть следующим образом:

SELECT НазваниеЖивотного, ПродолжительностьЖизни
FROM Животное

Пример 2
Если необходимо получить названия животных, чья продолжительность жизни от 30 до 40 лет, то запрос на выборку данных можно будет построить следующим образом:
2.1

SELECT НазваниеЖивотного
FROM Животное
WHERE ПродолжительностьЖизни>=30 AND
ПродолжительностьЖизни<=40

Слайд 5

Пример 2 2.2 SELECT НазваниеЖивотного FROM Животное WHERE ПродолжительностьЖизни BETWEEN 30

Пример 2

2.2

SELECT НазваниеЖивотного
FROM Животное
WHERE ПродолжительностьЖизни BETWEEN
30 AND 40

Пример 3
Допустим, необходимо получить список

животных, у которых продолжительность жизни составляет от 20 до 40 лет, причем это число кратно 5.

SELECT НазваниеЖивотного
FROM Животное
WHERE ПродолжительностьЖизни IN (20,25,30,35,40)

Слайд 6

Пример 4 Допустим, необходимо получить список названий животных, начинающихся с буквы

Пример 4

Допустим, необходимо получить список названий животных, начинающихся с буквы К.

Тогда запрос на выборку данных будет выглядеть следующим образом:

SELECT НазваниеЖивотного
FROM Животное
WHERE НазваниеЖивотного LIKE ‘К*’

Допустим, необходимо получить список названий животных, начинающихся с любых букв кроме буквы К. Тогда запрос на выборку данных будет выглядеть следующим образом:

SELECT НазваниеЖивотного
FROM Животное
WHERE НазваниеЖивотного NOT LIKE ‘К*’

Слайд 7

Сортировка и выбор первых SELECT TOP N FROM WHERE ORDER BY

Сортировка и выбор первых

SELECT TOP N <что выбираем? (название столбца)>
FROM <откуда выбираем? (название

таблицы)>
WHERE <условие>
ORDER BY <название столбца> <порядок сортировки>

Конструкция TOP N применяется для выбора N первых значений, где N – любое целое число.
Для определения порядка сортировки необходимо указать ключевое слово:
ASC – сортировка по возрастанию;
DESC – сортировка по убыванию.
Вместо названия столбца во фразе ORDER BY можно указать его номер.

Слайд 8

Пример 5 SELECT TOP 10 НазваниеЖивотного FROM Животное ORDER BY ПродолжительностьЖизни

Пример 5

SELECT TOP 10 НазваниеЖивотного
FROM Животное
ORDER BY ПродолжительностьЖизни DESC

Допустим, необходимо получить список десяти

животных-долгожителей (10 животных с максимальной продолжительностью жизни).
Т.е. необходимо отсортировать список животных по столбцу «ПродолжительностьЖизни» с порядком сортировки «по убыванию» и выбрать 10 первых.
Тогда запрос на выборку данных будет выглядеть следующим образом:
Слайд 9

Математические операции в запросах SELECT FROM WHERE К столбцам, имеющим числовой

Математические операции в запросах

SELECT <название столбца с числовым типом данных> <математическая операция>

<число>
FROM <откуда выбираем? (название таблицы)>
WHERE <условие>

К столбцам, имеющим числовой тип данных, можно применять различные математические операции, причем использовать их как во фразе WHERE, так и во фразе SELECT.

Слайд 10

Пример 6 Допустим, каждый зоопарк участвует в акции «Билет за полцены»,

Пример 6

Допустим, каждый зоопарк участвует в акции «Билет за полцены», поэтому

необходимо получить список зоопарков и стоимость билета со скидкой.
Тогда запрос на выборку данных будет выглядеть следующим образом:

SELECT НазваниеЗоопарка, Стоимостьбилета/2
FROM Зоопарк

В результате выполнения запросов такого рода получается таблица, где вычисляемый столбец имеет название «Expr1001».

Слайд 11

Математические функции ABS – модуль числа Cos – косинус Exp –

Математические функции

ABS – модуль числа
Cos – косинус
Exp – экспонента
Log –

натуральный логарифм
Rnd – случайное число

Round – округление
Sgn – знак числа
Sin – синус
Sqr – квадратный корень
Tan – тангенс

Пример 7
Допустим, что проходит не акция «Билеты за полцены», а «Билеты за треть цены». В таком случае, если мы, поделим на 3 некоторые числа, можем получить весьма некрасивые числа. Воспользуемся функцией round для того чтобы округлить полученное значение

SELECT НазваниеЗоопарка,
Round(Стоимостьбилета/3,1)
FROM Зоопарк

Слайд 12

Переименование столбца в запросе В предыдущем примере мы рассмотрели результат выполнения

Переименование столбца в запросе

В предыдущем примере мы рассмотрели результат выполнения запроса

с вычисляемым полем, где заголовок таблицы в итоге имеет вид «Expr1001». Для дальнейшего использования в работе такой заголовок неудобен, поэтому рассмотрим синтаксис переименования столбца в запросе:

SELECT <название столбца> AS <новое название>
FROM <откуда выбираем? (название таблицы)>

SELECT НазваниеЗоопарка, Стоимостьбилета/2 AS Цена
FROM Зоопарк

Пример 8
Исправим название поля в запросе из примера 6 на название «Цена». Тогда запрос на выборку данных будет выглядеть следующим образом:

Слайд 13

Работа с датой Функции для работы с датой: Date() – возвращает

Работа с датой

Функции для работы с датой:
Date() – возвращает текущую дату;
Year()

– извлекает год из даты;
Month() – извлекает месяц из даты;
Day() – извлекает день из даты.

Данные функции можно использовать не только во фразе WHERE, но и во фразе SELECT.

Пример 9
Допустим, необходимо получить список зоопарков, созданных в 2000 году. Тогда запрос на выборку данных будет выглядеть следующим образом:

SELECT НазваниеЗоопарка
FROM Зоопарк
WHERE Year(ДатаСоздания)=2000

Слайд 14

Агрегатные функции Count() – количество непустых строк в заданном диапазоне; Min()

Агрегатные функции

Count() – количество непустых строк в заданном диапазоне;
Min() – минимальное

значение;
Max() – максимальное значение;
Sum() – сумма;
AVG() – среднее.

Пример 10
Допустим, необходимо получить количество зоопарков, которые есть в системе. Тогда запрос на выборку данных будет выглядеть следующим образом:

SELECT Count(НазваниеЗоопарка)
FROM Зоопарк

Обратите внимание!
В случае если нужно получить 2 столбца, один из которых является частью агрегатной функции, а другой – нет, необходимо группировать результаты по столбцу, не являющемуся частью агрегатной функции с помощью ключевого слова GROUP BY.

Слайд 15

Пример 11 Допустим, необходимо получить столбец со средней продолжительностью жизни и

Пример 11

Допустим, необходимо получить столбец со средней продолжительностью жизни и количество

животных, которые для которых она характерна. Тогда запрос на выборку данных будет выглядеть следующим образом:

SELECT ПродолжительностьЖизни, Count(НазваниеЖивотного)
FROM Животное
GROUP BY ПродолжительностьЖизни

Слайд 16

Задание Запросы к базе данных Студенты 1. Составить запрос для получения

Задание

Запросы к базе данных Студенты
1. Составить запрос для получения ФИО студентов.
2.

Составить запрос для получения ФИО студентов 1995 года рождения.
3. Составить запрос для получения ФИО студентов и их возраста.
4. Составить запрос для получения фамилий студентов, начинающихся с буквы А.
5. Составить запрос для получения фамилий студентов мужского пола.
6. Составить запрос для получения количества оценки «5» за экзамен.
7. Составить запрос для получения списка оценок за экзамен и количества студентов, сдавших экзамен на данную оценку.
Слайд 17

Домашнее задание 1. Составить запросы на выборку к своей базе данных

Домашнее задание

1. Составить запросы на выборку к своей базе данных (по

5 запросов для каждого раздела).
2. Составить отчет
В отчете по индивидуальному домашнему заданию должны быть представлены следующие разделы:
текстовая формулировка задания (что должен делать запрос);
запрос на языке SQL;
снимок экрана с результатом выполнения запроса.
Слайд 18

Контрольные вопросы Запишите запрос на выборку данных в общем виде. Является

Контрольные вопросы

Запишите запрос на выборку данных в общем виде.
Является ли фраза

WHERE обязательной для запроса на выборку данных?
Приведите пример условий, которые могут использоваться в запросе.
Если необходимо получить данные, расположенные в нескольких столбцах, как это указать в запросе?
Если необходимо получить данные, расположенные во всех столбцах таблицы, как это указать в запросе?
Приведите пример выполнения математических операций над столбцами таблицы во фразе SELECT.
Перечислите математические функции, которые вы знаете.
Перечислите агрегатные функции, которые вы знаете.