
- •Занятие 3 Инструкция select Простая выборка
- •Выборка с условием (фильтрация)
- •Фильтрация по одному полю
- •Расширенные условия отбора
- •Сортировка
- •Вычисляемые поля
- •Математические операции между столбцами.
- •Функция round
- •Текстовые операции. Сцепление столбцов. Функции len, left
- •Функции Даты
- •Условный оператор iif
- •Занятие 7 Статистические функции в sql
- •Группировка данных
- •Группировка по одному столбцу
- •Группировка по нескольким столбцам
- •Фильтрация групп
- •Сортировка групп
- •Примеры:
- •Фамилия бажанова коваленко лапина
- •Занятие 8 Подзапросы
- •Использование подзапросов возвращающих одно значение
- •Использование подзапросов возвращающих несколько значений
- •Примеры с подзапросами
- •Соединение таблиц
- •Инструкции на изменение данных Инструкция: delete
- •Инструкция update
- •Инструкция: insert into
- •Insert into ИмяТаблицы
- •Комбинированные запросы
Текстовые операции. Сцепление столбцов. Функции len, left
Определение:
Сцеплением столбцов, называется операция присоединения друг к другу данных различных столбцов и помещения результата в поле, указанное ключевым словом AS.
Операция сцепления столбцов указывается в операторе SELECT. Для сцепления используется знак "+".
Пример:
Из таблицы "Сотрудники", содержащей фамилию, имя и отчество в разных столбцах, необходимо получить поле, содержащие фамилию имя и отчество в одном поле.
Сотрудники Отчетная форма
Фамилия
Имя
Отчество
Лосев
Петр
Алексеевич
Бобров
Михаил
Петрович
Гарин
Петр
Иванович
ФИО
Лосев Петр Алексеевич
Бобров Михаил Петрович
Гарин Петр Иванович
Операция сцепления запишется следующим образом:
SELECT
Фамилия +” “+ Имя
+“ ”+ Отчество AS
ФИО
FROM
Сотрудники
Запись → Фамилия +” “ означает, что к полю, Фамилия присоединен невидимый символ пробела. Аналогично и со столбцом Имя.
Если убрать пробелы, и сцепить только имена столбцов, то результат сцепления будет выглядеть следующим образом:
AS - ключевое слово, означает, что информация трех сцепленных столбцов, будет помещена во временное поле с именем → ФИО. Имя поля ФИО, называется псевдонимом.
Функции
LEFT |
возвращает указанное число символов с начала строки |
LEN |
возвращает длину строки |
SELECT
Фамилия +”
“+ LEFT(Имя,1)
+“.”+ LEFT(Отчество,1)
+“.” AS
ФИО
FROM
Сотрудники
WHERE
LEN(Фамилия)>5
ФИО
Бобров М.П.
Функции Даты
DATE() – возвращает текущую дату.
YEAR([Дата рождения]) -возвращает год
MONTH([Дата рождения]) -возвращает месяц
DAY([Дата рождения]) -возвращает день
Фамилия |
Дата |
Телефон |
Русинов |
26.02.1990 |
762-45-58 |
Родин |
06.04.1993 |
789-62-43 |
Нокель |
21.02.1992 |
362-26-55 |
Богомолов |
13.04.1993 |
497-78-45 |
Фамилия
Дата
Русинов
26.02.1990
Родин
06.04.1993
Нокель
21.02.1992
Богомолов
13.04.1993
SELECT Фамилия, Дата
FROM Список
Фамилия
Expr1001
Русинов
1990
Родин
1993
Нокель
1992
Богомолов
1993
SELECT Фамилия, Year(Дата)
FROM Список
SELECT Фамилия,
Year(Дата)
FROM Список
WHERE Year(Дата)=1993
Фамилия
Expr1001
Родин
1993
Богомолов
1993
SELECT Фамилия,
(Date()-Дата)/365
FROM Список
Фамилия
Expr1001
Русинов
21,0301369863014
Родин
17,9205479452055
Нокель
19,0438356164384
Богомолов
17,9013698630137
SELECT Фамилия,
(Date()-Дата)/365
FROM Список
WHERE (Date()-Дата)/365>=20
Фамилия
Expr1001
Русинов
21,0301369863014
SELECT Фамилия,
(Date()-Дата)/365
FROM Список
WHERE (Date()-Дата)/365>=20
Фамилия
Expr1001
Русинов
21,0301369863014
SELECT Фамилия, MONTH(Дата)
FROM Список
WHERE MONTH(Дата)=2
Фамилия
Expr1001
Русинов
2
Нокель
2
SELECT Фамилия, MONTH(Дата)
FROM Список
WHERE MONTH(Дата)=2
Фамилия
Expr1001
Русинов
2
Нокель
2
SELECT Фамилия
SELECT Фамилия,
Round((Date()-Дата)/365)
FROM Список
Фамилия
Expr1001
Русинов
21
Родин
18
Нокель
19
Богомолов
18