Добавить в корзинуПозвонить
Найти в Дзене

SQL для не-программистов: 5 запросов, которые сведут вашу работу с данными к простым вопросам

Приветствую, дорогие читатели! Представьте: у вас есть огромная база данных компании — все продажи, клиенты, товары за годы. Вам нужно узнать: «Сколько клиентов из Москвы купили больше 3 раз за последний год?» Можно неделями выгружать данные в Excel, ставить фильтры и сводные таблицы. А можно задать этот вопрос напрямую базе данных и получить ответ за 2 секунды. Именно для этого и нужен SQL! SQL — это язык, на котором вы «разговариваете» с базой данных. И сегодня мы выучим первые, самые важные фразы. Теперь давайте научимся находить нужные «книги»! Самый главный запрос! С него начинается почти всё. SELECT * FROM customers; Как если бы спросили: «Покажи мне всех клиентов из картотеки». Чаще всего нам нужны не все данные, а только соответствующие условию. SELECT name, city FROM customers
WHERE city = 'Москва'; Результат: Список имен и городов всех клиентов из Москвы. SELECT * FROM sales
WHERE amount > 5000; Результат: Все продажи, где сумма больше 5000 рублей. Как если бы спросили: «По
Оглавление

Приветствую, дорогие читатели! Представьте: у вас есть огромная база данных компании — все продажи, клиенты, товары за годы. Вам нужно узнать: «Сколько клиентов из Москвы купили больше 3 раз за последний год?»

Можно неделями выгружать данные в Excel, ставить фильтры и сводные таблицы. А можно задать этот вопрос напрямую базе данных и получить ответ за 2 секунды. Именно для этого и нужен SQL!

SQL — это язык, на котором вы «разговариваете» с базой данных. И сегодня мы выучим первые, самые важные фразы.

Подготовка: Представьте, что база данных — это библиотека

  • Таблица — это полка с книгами (например, полка «Клиенты» или «Продажи»)
  • Столбец — это информация на корешке книги (например, «Имя», «Город», «Сумма покупки»)
  • Строка — это конкретная книга (например, «Клиент Иванов из Москвы»)

Теперь давайте научимся находить нужные «книги»!

1. SELECT — «Покажи мне»

Самый главный запрос! С него начинается почти всё.

SELECT * FROM customers;

  • SELECT — команда «покажи»
  • * — значит «все столбцы»
  • FROM customers — из таблицы «customers» (клиенты)

Как если бы спросили: «Покажи мне всех клиентов из картотеки».

2. WHERE — «Но только тех, кто...»

Чаще всего нам нужны не все данные, а только соответствующие условию.

SELECT name, city FROM customers
WHERE city = 'Москва';

Результат: Список имен и городов всех клиентов из Москвы.

SELECT * FROM sales
WHERE amount > 5000;

Результат: Все продажи, где сумма больше 5000 рублей.

Как если бы спросили: «Покажи мне клиентов, но только тех, кто живёт в Москве».

3. ORDER BY — «Отсортируй по...»

Чтобы данные были не в хаотичном порядке, а отсортированные.

SELECT name, registration_date FROM customers
ORDER BY registration_date DESC;

  • DESC — по убыванию (сначала новые)
  • ASC — по возрастанию (можно не писать, это по умолчанию)

Как если бы спросили: «Покажи клиентов, отсортированных по дате регистрации, начиная с самых новых».

4. COUNT и SUM — «Посчитай» и «Просуммируй»

Чаще всего в аналитике нужны не сами данные, а какая-то статистика по ним.

Сколько всего клиентов?

SELECT COUNT(*) FROM customers;

Сколько клиентов в Москве?

SELECT COUNT(*) FROM customers
WHERE city = 'Москва';

Какова общая сумма всех продаж?

SELECT SUM(amount) FROM sales;

Средний чек?

SELECT AVG(amount) FROM sales;

5. GROUP BY — «Сгруппируй и посчитай для каждой группы»

Вот где начинается настоящая аналитическая магия!

Сколько клиентов в каждом городе?

SELECT city, COUNT(*) as client_count
FROM customers
GROUP BY city;

Результат: Увидите таблицу: Москва — 150, Санкт-Петербург — 90, Казань — 30...

Общая сумма продаж по каждому менеджеру?

SELECT manager_id, SUM(amount) as total_sales
FROM sales
GROUP BY manager_id
ORDER BY total_sales DESC;

Как если бы спросили: «Разбей всех клиентов по городам и посчитай, сколько человек в каждом городе».

Практикум: Решаем реальную задачу

Задача от руководителя: «Нам нужен список городов, где у нас больше 100 клиентов, отсортированный по убыванию количества клиентов».

Наш запрос:

SELECT city, COUNT(*) as client_count
FROM customers
GROUP BY city
HAVING COUNT(*) > 100
ORDER BY client_count DESC;

Обратите внимание на HAVING — это как WHERE, но для сгруппированных данных.

С чего начать практику?

  • Установите SQLite Browser — это простой и бесплатный инструмент для тренировки.
  • Найдите учебную базу данных (например, «Northwind» — классическая учебная БД).
  • Начните с простых вопросов к данным: «Сколько?», «Кто?», «Где?».

Резюме-шпаргалка:

  • SELECT — что показать
  • FROM — откуда показать
  • WHERE — по какому условию отфильтровать
  • ORDER BY — как отсортировать
  • GROUP BY — как сгруппировать перед подсчетом

SQL — это не про программирование, это про логику и умение задавать правильные вопросы. Начните с этих 5 запросов, и вы сможете получать из данных в 10 раз больше пользы!

А вам приходилось сталкиваться с SQL в работе? Делитесь в комментариях!

Ставьте «палец вверх», если теперь базы данных кажутся вам не страшным монстром, а полезным инструментом, и подписывайтесь на канал!