
- •Справочник по sql
- •Оглавление
- •Как найти режим sql
- •Into новая Таблица
- •Into Отчет
- •[Оглавление]
- •Синтаксис
- •Синтаксис
- •Where выражение [Not] In (значение1, значение2, . . .)
- •Синтаксис
- •Дополнительные сведения
- •Синтаксис
- •Дополнительные сведения
- •Синтаксис
- •Дополнительные сведения
- •[Оглавление]
- •Синтаксис
- •Дополнительные сведения
- •Синтаксис
- •Дополнительные сведения
- •Дополнительные сведения
- •Дополнительные сведения
- •[Оглавление] примеры Пусть даны две таблицы а и b
- •Пример Операция left join Пример Операция right join
- •Синтаксис select имена полей таблиц
- •Дополнительные сведения
- •Синтаксис
- •Дополнительные сведения
[Оглавление]
Применение BETWEEN … AND /( NOT BETWEEN…AND).
Определяет принадлежность значения выражения указанному диапазону.
Синтаксис
SELECT имена полей
FROM имена таблиц
WHERE выражение [Not] Between значение1 And значение2;
1. Выдать записи, если возраст человека лежит в диапазоне от 22 до 30
Пример
SELECT Фамилия, Возраст
FROM Сотрудники
WHERE Возраст BETWEEN 22 And 30;
Студенты
-
Фамилия
Возраст
Оценка
Фамилия
Возраст
Смирнов
55
4
Михайлов
28
Михайлов
28
3
Панов
25
Синицын
18
5
Панов
25
3
2. Выдать записи, если возраст человека НЕ лежит в диапазоне от 22 до 30
Пример
SELECT Фамилия], Возраст
FROM Сотрудники
WHERE Возраст NOT BETWEEN 22 And 30;
Студенты
-
Фамилия
Возраст
Оценка
Фамилия
Возраст
Смирнов
55
4
Смирнов
55
Михайлов
28
3
Синицын
18
Синицын
18
5
Панов
25
3
[Оглавление]
Применение IN (NOT IN).
Проверяет, совпадает ли значение выражения с одним из элементов указанного списка.
Синтаксис
SELECT имена полей
FROM имена таблиц
Where выражение [Not] In (значение1, значение2, . . .)
1. Выдать записи, если возраст человека равен 18 или 55
Пример
SELECT Фамилия, Возраст
FROM Сотрудники
WHERE Возраст IN (18,55);
Студенты
-
Фамилия
Возраст
Оценка
Фамилия
Возраст
Смирнов
55
4
Смирнов
55
Михайлов
28
3
Синицын
18
Синицын
18
5
Панов
25
3
2. Выдать записи, если возраст человека НЕ равен 18 или 55
Пример
SELECT Фамилия, Возраст
FROM Сотрудники
WHERE Возраст NOT IN (18,55);
Студенты
-
Фамилия
Возраст
Оценка
Фамилия
Возраст
Смирнов
55
4
Михайлов
28
Михайлов
28
3
Панов
25
3
Синицын
18
5
Панов
25
3
3. Выдать расписание поездов по вокзалам.
Пример
SELECT Вокзал, Направление, День, Время
FROM Расписание
WHERE Вокзал NOT IN (‘Киевский’);
Поясните, какое расписание будет выдано?
[Оглавление]
Оператор Like
Используется для сравнения строкового выражения.
Синтаксис
SELECT имена полей
FROM имена таблиц
WHERE выражение Like "образец"
Элемент |
Описание |
выражение |
Выражение SQL, используемое в предложении WHERE. |
образец |
Строка, с которой сравнивается выражение. |
Дополнительные сведения
Оператор Like используется для нахождения в поле значений, соответствующих указанному образцу. Для аргумента образец можно задавать полное значение (например, Like “Иванов’) или использовать подстановочные знаки для поиска диапазона значений (например, Like “Ив*”).
Оператор Like используется в выражении для сравнения значений поля со строковым выражением. Например, если в запросе SQL ввести Like "C*", запрос возвратит все значения поля, начинающиеся с буквы "C". В запросе с параметрами можно пригласить пользователя указать искомый образец.
В следующем примере возвращаются данные, начинающихся с буквы «Р», за которой следуют любые буквы от «А» до «Д» и три цифры:
Like "Р[А-Д]###"
Следующая таблица содержит примеры использования оператора Like для тестирования выражений с помощью разных образцов.
* - Любое количество, любых символов
? - Один, любой символ
# - Одна, любая цифра
-
Тип совпадения
Образец
Совпадение (True)
Несовпадение (False)
Несколько знаков
a*a
aa, aBa, aBBBa
aBC
*ab*
abc, AABB, Xab
aZb, bac
Специальный знак
a[*]a
a*a
aaa
Несколько знаков
ab*
abcdefg, abc
cab, aab
Одиночный знак
a?a
aaa, a3a, aBa
aBBBa
Одиночная цифра
a#a
a0a, a1a, a2a
aaa, a10a
Диапазон знаков
[a-z]
f, p, j
2, &
Вне диапазона
[!a-z]
9, &, %
b, a
Не цифра
[!0-9]
A, a, &, ~
0, 1, 9
Комб. выражение
a[!b-m]#
An9, az0, a99
abc, aj0
Особенности работы с символами даты
При указании аргумента Условие Отбора, символы дат должны вводиться в американском формате, даже если используется неамериканская версия ядра базы данных Jet. Например, дата 10 мая 1996 года записывается в России как 10.05.96, а в США как 5/10/96. Обязательно заключите даты в символы «решетки» (#), как показано в следующих примерах.
Для отбора записей с этой датой в российской базе данных необходимо использовать следующую инструкцию SQL:
SELECT *
FROM Заказы
WHERE ДатаИсполнения = #5/10/96#;
Кроме того, можно применять функцию DateValue, которая поддерживает международные стандарты, заданные в Microsoft Windows®. Например, для отбора записей в американской базе данных создайте текст программы:
SELECT *
FROM Заказы
WHERE ДатаИсполнения = DateValue('5/10/96');
Для российской базы данных, текст программы будет выглядеть так:
SELECT *
FROM Заказы
WHERE ДатаИсполнения = DateValue('10.5.96');
Пример
SELECT [Наименование товара] AS Товар, Годность
FROM Товары
WHERE Годность <= #5/7/96#;
Товары
Наименование товара |
Годность |
|
|
Товар |
Годность |
Молоко |
5/12/96 |
|
|
Творог |
5/5/96 |
Сметана |
5/15/96 |
|
|
Пиво |
5/3/96 |
Творог |
5/7/96 |
|
|
|
|
Пиво |
5/3/96 |
|
|
|
|
[Оглавление]
ИТОГОВЫЙ ПРИМЕРЫ
Пусть имеется таблица Товары. Создать итоговую таблицу с наименованием товара и стоимостью не проданного товара при условии, что стоимость непроданного товара должна быть больше ….. .
SELECT Товар, (Количество * Цена) AS Стоимость
INTO Итоговая
FROM Таблица
WHERE (Количество * Цена) > 500
Таблица Итоговая
Товар |
Количество |
Цена |
|
Товар |
Стоимость |
Пепси |
10 |
20 |
|
Кола |
1200 |
Кола |
60 |
20 |
|
|
|
Пиво |
0 |
30 |
|
|
|
[Оглавление]
Статистические функции
Статистические функции готовы к выдаче готовых значений. К статистическим функциям относятся следующие функции:
Синтаксис
COUNT(выражение) ……вычисляет количество записей, возвращаемых запросом.
SUM(выражение)……… возвращает сумму набора значений, содержащихся в заданном
поле запроса.
AVG(выражение) ………вычисляет арифметическое среднее набора чисел,
содержащихся в указанном поле запроса.
MIN(выражение)……… возвращают минимальное и максимальное значения из набора MAX(выражение) значений, содержащихся в указанном поле запроса.
[Оглавление]
Функция Count
Вычисляет количество записей, возвращаемых запросом.