Структура sql-запросов
Общая структура запроса на выборку данных выглядит следующим образом:
SELECT ('столбцы или * для выбора всех столбцов; обязательно')
FROM ('таблица; обязательно')
JOIN ON ('таблица для объединения с указанием поля, по которому будут объединятся данные; необязательно')
WHERE ('условие/фильтрация, например, city = 'Moscow'; необязательно')
GROUP BY ('столбец, по которому хотим сгруппировать данные; необязательно')
HAVING ('условие/фильтрация на уровне сгруппированных данных; необязательно')
ORDER BY ('столбец, по которому хотим отсортировать вывод; необязательно')
Логический порядок обработки инструкции SELECT:
- FROM (выбор таблицы)
- JOIN (комбинация с подходящими по условию данными из других таблиц)
- WHERE (фильтрация строк)
- GROUP BY (агрегирование данных)
- HAVING (фильтрация агрегированных данных)
- SELECT (возврат результирующего датасета)
- ORDER BY (сортировка).
В таблице представлены несколько возможных вариантов шаблона оператора LIKE
.
Шаблон LIKE | Описание |
---|---|
LIKE 'a%' | Значение начинается с символа "a" |
LIKE '%a' | Значение заканчивается на символ "a" |
LIKE '%a%' | Значение имеет символ "a" в любом месте |
LIKE '_a%' | Значение имеет символ "a" на втором месте |
LIKE 'a__' | Значение состоит из 3 символов, первый "a" |
LIKE 'a%d' | Значение начинается с символа "a" и заканчивается на символ "d" |
SQL-запрос наибольшая выручка по категориям - вывести первые 5:
SELECT category, SUM(price * sold_num) AS Z FROM store GROUP BY category ORDER BY Z DESC LIMIT 5;
SQL:
- Интерактивный тренажер по SQL (отличный курс!) https://stepik.org/course/63054
- Уроки SQL
- SQL - Первые шаги (PL/SQL в Oracle)
- SQL: JOIN в примерах с описанием
- LIKE, REGEXP. Вывод данных по шаблону (маске) в MySQL
- Уроки SQL: Хранимые процедуры. Создание, использование и удаление
- Семантика NULL
- Многоликий NULL, часть II
Видео по SQL
- Быстрый курс по SQL для начинающих. (9 занятий)
- SQL для тестировщика — Виды. Связи таблиц. Ключи.
- SQL для тестировщика — ПЕРВИЧНЫЙ и ВНЕШНИЙ ключи
- SQL для тестировщика — SELECT, LIKE, GROUP и др.
- SQL для тестировщика — JOIN, LEFT, RIGHT, FULL OUTER