Здравствуйте! Записался на ваш курс, но не понимаю как произвести оплату. Надо ли писать заявление и, если да, то куда отправлять? как я получу диплом о профессиональной переподготовке? |
Эффективное выполнение запросов для извлечения данных
Предложение WHERE
С помощью WHERE-параметра пользователь определяет, какие блоки данных из приведенных в списке FROM таблиц появятся в результате запроса. За ключевым словом WHERE следует перечень условий поиска, определяющих те строки, которые должны быть выбраны при выполнении запроса. Существует пять основных типов условий поиска (или предикатов):
- Сравнение: сравниваются результаты вычисления одного выражения с результатами вычисления другого.
- Диапазон: проверяется, попадает ли результат вычисления выражения в заданный диапазон значений.
- Принадлежность множеству: проверяется, принадлежит ли результат вычислений выражения заданному множеству значений.
- Соответствие шаблону: проверяется, отвечает ли некоторое строковое значение заданному шаблону.
- Значение NULL: проверяется, содержит ли данный столбец определитель NULL (неизвестное значение).
Сравнение
В языке SQL можно использовать следующие операторы сравнения: = – равенство; < – меньше; > – больше; <= – меньше или равно; >= – больше или равно; <> – не равно.
Пример 4.3. Показать все операции отпуска товаров объемом больше 20.
SELECT * FROM Сделка WHERE Количество>20Пример 4.3. Операции отпуска товаров объемом больше 20.
Более сложные предикаты могут быть построены с помощью логических операторов AND, OR или NOT, а также скобок, используемых для определения порядка вычисления выражения. Вычисление выражения в условиях выполняется по следующим правилам:
- Выражение вычисляется слева направо.
- Первыми вычисляются подвыражения в скобках.
- Операторы NOT выполняются до выполнения операторов AND и OR.
- Операторы AND выполняются до выполнения операторов OR.
Для устранения любой возможной неоднозначности рекомендуется использовать скобки.
Пример 4.4. Вывести список товаров, цена которых больше или равна 100 и меньше или равна 150.
SELECT Название, Цена FROM Товар WHERE Цена>=100 And Цена<=150Пример 4.4. Список товаров, цена которых больше или равна 100 и меньше или равна 150.
Пример 4.5. Вывести список клиентов из Москвы или из Самары.
SELECT Фамилия, ГородКлиента FROM Клиент WHERE ГородКлиента="Москва" Or ГородКлиента="Самара"Пример 4.5. Список клиентов из Москвы или из Самары.
Диапазон
Оператор BETWEEN используется для поиска значения внутри некоторого интервала, определяемого своими минимальным и максимальным значениями. При этом указанные значения включаются в условие поиска.
Пример 4.6. Вывести список товаров, цена которых лежит в диапазоне от 100 до 150 (запрос эквивалентен примеру 4.4).
SELECT Название, Цена FROM Товар WHERE Цена BETWEEN 100 And 150Пример 4.6. Список товаров, цена которых лежит в диапазоне от 100 до 150.
При использовании отрицания NOT BETWEEN требуется, чтобы проверяемое значение лежало вне границ заданного диапазона.
Пример 4.7. Вывести список товаров, цена которых не лежит в диапазоне от 100 до 150.
SELECT Товар.Название, Товар.Цена FROM Товар WHERE Товар.Цена NOT BETWEEN 100 And 150 Или (что эквивалентно) SELECT Товар.Название, Товар.Цена FROM Товар WHERE (Товар.Цена<100) OR (Товар.Цена>150)Пример 4.7. Список товаров, цена которых не лежит в диапазоне от 100 до 150.
Принадлежность множеству
Оператор IN используется для сравнения некоторого значения со списком заданных значений, при этом проверяется, соответствует ли результат вычисления выражения одному из значений в предоставленном списке. При помощи оператора IN может быть достигнут тот же результат, что и в случае применения оператора OR, однако оператор IN выполняется быстрее.
Пример 4.8. Вывести список клиентов из Москвы или из Самары (запрос эквивалентен примеру 4.5).
SELECT Фамилия, ГородКлиента FROM Клиент WHERE ГородКлиента IN ("Москва", "Самара")Пример 4.8. Список клиентов из Москвы или из Самары
NOT IN используется для отбора любых значений, кроме тех, которые указаны в представленном списке.
Пример 4.9. Вывести список клиентов, проживающих не в Москве и не в Самаре.
SELECT Фамилия, ГородКлиента FROM Клиент WHERE ГородКлиента NOT IN ("Москва","Самара")Пример 4.9. Список клиентов, проживающих не в Москве и не в Самаре.