SQL с нуля
Цикл для тех, кто не писал ни одного запроса: что такое база данных, SELECT и фильтры, JOIN, агрегаты, оконные функции, NULL, безопасное изменение данных и первое понимание индексов.
За каждым приложением стоит база данных, и умение задать ей вопрос напрямую — навык, который отличает специалиста от пользователя. Этот цикл — для тех, кто не написал ещё ни одного запроса: без предварительных требований, на одном сквозном примере интернет-магазина.
Восемь статей идут по порядку — каждая опирается на предыдущие:
- Что такое база данных и таблицы — СУБД, строки и столбцы, первичный ключ и связи.
- SELECT: выбрать, отфильтровать, отсортировать — WHERE, LIKE, IN, ORDER BY, LIMIT.
- JOIN: собрать данные из нескольких таблиц — INNER и LEFT, потерянные и задвоенные строки.
- Агрегаты: COUNT, GROUP BY и HAVING — ответы на вопросы «сколько» и «на какую сумму».
- Оконные функции — ROW_NUMBER и PARTITION BY: считать, не схлопывая строки.
- NULL и типы данных — где спотыкаются все, от IS NULL до часовых поясов.
- INSERT, UPDATE, DELETE и транзакции — как менять данные и не устроить катастрофу.
- Почему запрос медленный: индексы на пальцах — полный перебор, индекс-оглавление, EXPLAIN.
Цикл входит в программу «Ручное тестирование с нуля» отдельной фазой, но самодостаточен: SQL одинаково нужен тестировщику, аналитику и начинающему разработчику. Продолжение для тех, кому мало, — раздел PostgreSQL.