SQL простыми словами — ProductStar на vc.ru
На основе материалов спикеров курса “SQL с 0 для анализа данных” собрали все, что нужно знать об SQL на первых порах. Привели реальные кейсы использования языка запросов и показали, как написать ваш первый код.
6003 просмотров
Навигация
- Что такое SQL?
- Кому и для чего необходимо уметь его использовать?
- С чего начать обучение SQL?
- Типы данных
- Интересные факты об SQL
Что такое SQL?
SQL, или Structured Query Language, — это язык структурированных запросов, использующийся для работы с базой данных: извлечения, обновления, добавления и удаления информации из нее. То есть, SQL — язык запросов для “общения” с данными.
Представить можно так:
Только вместо всем нам понятной фразы “принеси чай” используется особый синтаксис, другой язык.
Кому и для чего нужно знать SQL?
Знание SQL часто требуют не только от аналитиков, но и от продактов, проджектов и даже маркетологов. И не зря, ведь у языка структурированных запросов действительно масса возможностей.
- Извлечение данных
С помощью SQL вы работаете с данными, которые уже собирает ваша компания. Например, у сервиса ЯндексТакси есть данные по поездкам, таксистам, пользователям, работе службы поддержки и так далее. Так, с помощью SQL можно извлечь информацию по всем поездкам в Москве в промежуток с 18 до 19 часов для анализа спроса в час-пик.
- Изменение данных
К примеру, изменить имена всех пользователей “Татьяна” на “Марина”. Если представить более реалистичный кейс — можно исключить из базы данных пользователей, которые попали в нее по ошибке.
- Добавление данных
SQL позволяет объединять базы данных, выгружать скачанные БД (например, какую-то информацию от ваших конкурентов) для дальнейшего анализа.
- Валидация данных
Например, отчеты других аналитических систем, использующиеся в других отделах, могут не вызывать доверия из-за подозрительных скачков (просело количество посещений сайта, резко уменьшились клики и тд). С помощью SQL можно быстро сделать запрос в источник данных и проверить, так ли плоха ситуация.
- Скорость
Как уже упоминали, SQL полезен не только аналитикам. Представим, что вы продакт, вам необходимо быстро проверить новую гипотезу, а для этой задачи без данных не обойтись. Гораздо быстрее постановки ТЗ и согласования с аналитиками.
Примеры использования SQL:
- Онлайн-магазин: посчитать количество покупателей из Самары за предыдущий год
- Видео-платформа: найти топ-10 фильмов, у которых было больше всего просмотров за 2020 год в категории “комедии”
- Маркетинг: найти email пользователей, которые совершили покупку после нажатия на кнопку в рассылке
- Игры: определить, на каких уровнях игры пользователи тратят больше всего времени и после каких перестают заходить в приложение
Зачастую функционала GoogleAnalitics, YandexMetrics, Excel и Tableau бывает недостаточно из-за слишком большого объема данных, долгой настройки или сложных экспериментов. Поэтому большинство компаний и используют SQL.
С чего начать?
Систем управления базами данных (СУБД) несколько, например, MySQL, Oracle, SQLServer или PostgreSQL. На курсе “SQL с 0 для анализа данных” Анна Атласова, бизнес-аналитик из Amazon, для начала советует попрактиковаться на web-версии SQLite.
Как и любой язык, SQL имеет определенные слова, которые выстраиваются в предложения, или команды. Рассмотрим пару базовых SQL-запросов на примере данных.
Открываем SQLite, загружаем базу данных.
SQLite -> File -> Open DB
В примере будем использовать БД Airbnb, сервиса для аренды жилья, ее мы даем на курсе (делимся лайфхаком: если уже оставляли заявку, попросите своего менеджера дать демо-доступ к нашей платформе, сможете попрактиковаться на этой базе данных). Открываем, слева появляются таблицы “hosts” и “listings”, то есть владельцы и информация о самом жилье (квартиры/дома/комнаты и тд).
Пришло время сделать первый запрос.
Чтобы посмотреть на всю таблицу целиком, запрашиваем (SELECT) все данные (*) из (FROM) таблицы владельцев (hosts). Получаем нашу таблицу под блоком ввода кода.
На скриншоте выше, видно, например, что Анна с id 43984 является владельцем жилья в Ирландии на Airbnb с 7 октября 2009 года. “F” в последнем столбце означает, что девушка не явлется супер-хостом (особый статус на сервисе), то есть значение в столбце = false.
Чтобы выдало конкретные столбцы, вместо * прописываем их названия.
SELECT Name, Location
FROM hosts
Так мы получим таблицу из 2х столбцов: имени и местоположения.
SELECT что мы хотим (столбец/-цы) FROM откуда мы хотим (таблица)
Чтобы ограничить строки, используем LIMIT число. Например, LIMIT 3, тогда в нашей таблице появятся только 3 строки.
Слишком просто?
Копаем глубже
При написании запроса важно учитывать тип данных, который содержится в таблице. Например, это может быть число, текст и дата.
- Для вывода числа будет достаточно использовать сами числа. Например:
SELECT *
FROM hosts
WHERE id = 43984
- Для текста используем кавычки:
SELECT *
FROM hosts
WHERE name = ‘Anna’
- Для даты — формат “год-месяц-число”
SELECT *
FROM hosts
WHERE host_since = ‘2009-10-07’
Оператор WHERE задает условие, то есть, например, “Я хочу вывести все данные из таблицы с владельцами жилья, у кого id соответствует 43984” (скорее всего результат получим один, обычно id не повторяются) или “Я хочу вывести все данные владельцев, кого зовут Анна” (здесь уже не факт, что результат будет единственным).
С оператором WHERE также можно использовать знаки больше или меньше: “<”, “>”, они, например, позволяют отфильтровать владельцев жилья, попавших в БД после определенной даты. Сделать это можно так: WHERE host_since > ‘2010-01-01’. В таблице получим всех хостов, присоединившихся к Airbnb после 1 января 2010.
Порядок ключевых слов в SQL
С некоторыми ключевыми словами мы уже познакомились, поэтому обратим внимание на важную особенность работу SQL — все ключевые слова и операторы должны иметь определенный порядок:
- SELECT
- FROM
- WHERE
- GROUP BY
- HAVING
- ORDER BY
- LIMIT
При нарушении порядка, SQL запутается и перестанет вас понимать 🙁
Важно еще отметить, что SELECT и FROM — ключевые слова, остальные — опциональные, поэтому использовать WHERE или другие операторы без SELECT FROM не получится.
Парочку интересных фактов
Немного расслабимся и перейдем к рандомным фактам об SQL.
- SQL был придуман еще в 1970-х, после чего до 2003 стадартизировался и улучшался. Сейчас мы базово все еще работаем на версии двадцитилетней давности, несмотря на несколько доработок и появление множества “диалектов”.
- Раньше SQL назывался SEQL (Structured English Query Language), поэтому многие специалисты продолжают использовать эту аббревиатуру, произнося “сикуэл”, а не “эс-кью-эл”. В документациях нередко встречаются оба варианта, поэтому оба можно считать верными.
- SQL не является языком программирования, так как не может делать циклы или архитектуры.
- Обучаться SQL как аналитикам, так и продактам лучше всего на курсе от ProductStar, ознакомиться с программой и навыками, которые получите после прохождения обучения можно здесь.
SQL простыми словами — ProductStar на vc.ru
На основе материалов спикеров курса “SQL с 0 для анализа данных” собрали все, что нужно знать об SQL на первых порах. Привели реальные кейсы использования языка запросов и показали, как написать ваш первый код.
6003 просмотров
Навигация
- Что такое SQL?
- Кому и для чего необходимо уметь его использовать?
- С чего начать обучение SQL?
- Типы данных
- Интересные факты об SQL
Что такое SQL?
SQL, или Structured Query Language, — это язык структурированных запросов, использующийся для работы с базой данных: извлечения, обновления, добавления и удаления информации из нее. То есть, SQL — язык запросов для “общения” с данными.
Представить можно так:
Только вместо всем нам понятной фразы “принеси чай” используется особый синтаксис, другой язык. При работе с данными, как и при разговоре с представителем другой страны, вы будете использовать язык, понятный собеседнику, в нашем случае — компьютеру:
Кому и для чего нужно знать SQL?
Знание SQL часто требуют не только от аналитиков, но и от продактов, проджектов и даже маркетологов. И не зря, ведь у языка структурированных запросов действительно масса возможностей.
- Извлечение данных
С помощью SQL вы работаете с данными, которые уже собирает ваша компания. Например, у сервиса ЯндексТакси есть данные по поездкам, таксистам, пользователям, работе службы поддержки и так далее. Так, с помощью SQL можно извлечь информацию по всем поездкам в Москве в промежуток с 18 до 19 часов для анализа спроса в час-пик.
- Изменение данных
К примеру, изменить имена всех пользователей “Татьяна” на “Марина”. Если представить более реалистичный кейс — можно исключить из базы данных пользователей, которые попали в нее по ошибке.
- Добавление данных
SQL позволяет объединять базы данных, выгружать скачанные БД (например, какую-то информацию от ваших конкурентов) для дальнейшего анализа.
- Валидация данных
Например, отчеты других аналитических систем, использующиеся в других отделах, могут не вызывать доверия из-за подозрительных скачков (просело количество посещений сайта, резко уменьшились клики и тд). С помощью SQL можно быстро сделать запрос в источник данных и проверить, так ли плоха ситуация.
- Скорость
Как уже упоминали, SQL полезен не только аналитикам. Представим, что вы продакт, вам необходимо быстро проверить новую гипотезу, а для этой задачи без данных не обойтись. Гораздо быстрее постановки ТЗ и согласования с аналитиками.
Примеры использования SQL:
- Онлайн-магазин: посчитать количество покупателей из Самары за предыдущий год
- Видео-платформа: найти топ-10 фильмов, у которых было больше всего просмотров за 2020 год в категории “комедии”
- Маркетинг: найти email пользователей, которые совершили покупку после нажатия на кнопку в рассылке
- Игры: определить, на каких уровнях игры пользователи тратят больше всего времени и после каких перестают заходить в приложение
Зачастую функционала GoogleAnalitics, YandexMetrics, Excel и Tableau бывает недостаточно из-за слишком большого объема данных, долгой настройки или сложных экспериментов. Поэтому большинство компаний и используют SQL.
С чего начать?
Систем управления базами данных (СУБД) несколько, например, MySQL, Oracle, SQLServer или PostgreSQL. На курсе “SQL с 0 для анализа данных” Анна Атласова, бизнес-аналитик из Amazon, для начала советует попрактиковаться на web-версии SQLite.
Как и любой язык, SQL имеет определенные слова, которые выстраиваются в предложения, или команды. Рассмотрим пару базовых SQL-запросов на примере данных.
Открываем SQLite, загружаем базу данных.
SQLite -> File -> Open DB
В примере будем использовать БД Airbnb, сервиса для аренды жилья, ее мы даем на курсе (делимся лайфхаком: если уже оставляли заявку, попросите своего менеджера дать демо-доступ к нашей платформе, сможете попрактиковаться на этой базе данных). Открываем, слева появляются таблицы “hosts” и “listings”, то есть владельцы и информация о самом жилье (квартиры/дома/комнаты и тд).
Пришло время сделать первый запрос.
Чтобы посмотреть на всю таблицу целиком, запрашиваем (SELECT) все данные (*) из (FROM) таблицы владельцев (hosts). Получаем нашу таблицу под блоком ввода кода.
На скриншоте выше, видно, например, что Анна с id 43984 является владельцем жилья в Ирландии на Airbnb с 7 октября 2009 года. “F” в последнем столбце означает, что девушка не явлется супер-хостом (особый статус на сервисе), то есть значение в столбце = false.
Чтобы выдало конкретные столбцы, вместо * прописываем их названия.
SELECT Name, Location
FROM hosts
Так мы получим таблицу из 2х столбцов: имени и местоположения.
SELECT что мы хотим (столбец/-цы) FROM откуда мы хотим (таблица)
Чтобы ограничить строки, используем LIMIT число. Например, LIMIT 3, тогда в нашей таблице появятся только 3 строки.
Слишком просто?
Копаем глубже
При написании запроса важно учитывать тип данных, который содержится в таблице. Например, это может быть число, текст и дата.
- Для вывода числа будет достаточно использовать сами числа. Например:
SELECT *
FROM hosts
WHERE id = 43984
- Для текста используем кавычки:
SELECT *
FROM hosts
WHERE name = ‘Anna’
- Для даты — формат “год-месяц-число”
SELECT *
FROM hosts
WHERE host_since = ‘2009-10-07’
Оператор WHERE задает условие, то есть, например, “Я хочу вывести все данные из таблицы с владельцами жилья, у кого id соответствует 43984” (скорее всего результат получим один, обычно id не повторяются) или “Я хочу вывести все данные владельцев, кого зовут Анна” (здесь уже не факт, что результат будет единственным).
С оператором WHERE также можно использовать знаки больше или меньше: “<”, “>”, они, например, позволяют отфильтровать владельцев жилья, попавших в БД после определенной даты. Сделать это можно так: WHERE host_since > ‘2010-01-01’. В таблице получим всех хостов, присоединившихся к Airbnb после 1 января 2010.
Порядок ключевых слов в SQL
С некоторыми ключевыми словами мы уже познакомились, поэтому обратим внимание на важную особенность работу SQL — все ключевые слова и операторы должны иметь определенный порядок:
- SELECT
- FROM
- WHERE
- GROUP BY
- HAVING
- ORDER BY
- LIMIT
При нарушении порядка, SQL запутается и перестанет вас понимать 🙁
Важно еще отметить, что SELECT и FROM — ключевые слова, остальные — опциональные, поэтому использовать WHERE или другие операторы без SELECT FROM не получится.
Парочку интересных фактов
Немного расслабимся и перейдем к рандомным фактам об SQL.
- SQL был придуман еще в 1970-х, после чего до 2003 стадартизировался и улучшался. Сейчас мы базово все еще работаем на версии двадцитилетней давности, несмотря на несколько доработок и появление множества “диалектов”.
- Раньше SQL назывался SEQL (Structured English Query Language), поэтому многие специалисты продолжают использовать эту аббревиатуру, произнося “сикуэл”, а не “эс-кью-эл”. В документациях нередко встречаются оба варианта, поэтому оба можно считать верными.
- SQL не является языком программирования, так как не может делать циклы или архитектуры.
- Обучаться SQL как аналитикам, так и продактам лучше всего на курсе от ProductStar, ознакомиться с программой и навыками, которые получите после прохождения обучения можно здесь.
Выучить SQL | Codecademy
Бесплатно
Курс
В этом курсе SQL вы узнаете, как управлять большими наборами данных и анализировать реальные данные, используя стандартный язык управления данными.
4.6
4.6 из 5 звезд1 029 901 зарегистрированных учащихся
Начать бесплатный курс
Регистрируясь, вы соглашаетесь с нашими Условиями обслуживания и Политикой конфиденциальности. Этот сайт защищен reCAPTCHA, а также Политикой конфиденциальности и Условиями обслуживания Google.
Или зарегистрируйтесь, используя:
Уже есть учетная запись?
Об этом курсе
Информация окружает нас повсюду. Вы можете использовать его, изучив основы SQL. SQL, используемый в науке о данных, аналитике и проектировании, упрощает работу с данными и позволяет принимать более обоснованные стратегии, операции и бизнес-решения. Это полезный навык для всех, кто работает с данными (даже на нетехнических должностях). В этом курсе SQL вы узнаете, как управлять большими наборами данных и анализировать реальные данные.
Навыки, которые вы приобретете
Программа
4 урока • 5 проектов • 4 тестаНачало
Платформа
Практическое обучение
Не просто смотрите или читайте о том, как кто-то другой программирует, — пишите свой собственный код вживую на нашей интерактивной онлайн-платформе. Вы даже получите рекомендации на основе ИИ о том, что вам нужно просмотреть, чтобы не сбиться с пути. Checker DenseПроекты в этом курсе
Проект
Создать таблицу
Научитесь бегло работать с SQL. Мы собираемся попрактиковаться в создании таблиц в SQL, чтобы вы могли отточить свои навыки и чувствовать себя уверенно, применяя их в реальном мире.
Проект
Рестораны Нью-Йорка
Попрактикуйтесь в написании наиболее распространенных типов запросов.
Проект
Тенденции в стартапах
В этом проекте мы будем практиковать агрегатные функции в SQL, чтобы вы могли отточить свои навыки и чувствовать себя уверенно, применяя их в реальном мире. Использование этих функций будет объединять значения строк вместе и возвращать один результат.
Reviews from learners
Our learners work at
- Google Logo
- Meta Logo
- Apple Logo
- EA Logo
- Amazon Logo
- IBM Logo
- Microsoft Logo
- Reddit Logo
- Логотип Spotify
- Логотип Uber
- Логотип YouTube
- Логотип Instagram
Доступ к дополнительным функциям с платным планом
- Значок проектов
Практические проекты
Проекты с пошаговыми инструкциями, которые помогут вам закрепить навыки и концепции, которые вы изучаете. - Значок викторины
Оценки
Тесты с автоматической оценкой и мгновенная обратная связь помогут вам укрепить свои навыки в процессе обучения. - Значок сертификата
Сертификат об окончании
Получите документ, подтверждающий, что вы прошли курс или путь, которым вы можете поделиться со своей сетью.
Посмотреть цены и планы
Ratings from learners
4.6
4.6 out of 5 stars3,523 ratings
5 stars
67%
4 stars
26%
3 stars
6%
2 звезды
1%
1 звезда
1%
Присоединяйтесь к более чем 50 миллионам учащихся и начните изучать SQL сегодня!
НачалоЧасто задаваемые вопросы о SQL
SQL (язык структурированных запросов) — это язык программирования, используемый для управления данными, хранящимися в реляционных базах данных, которые хранят структурированные данные в таблицах. Его синтаксис легко читается, поэтому его легко понять, даже если вы совершенно новичок в программировании, и он даже полезен для нетехнических профессий.
Изучение SQL: Памятка по агрегатным функциям
Ссылки на столбцы
6 и предложения ORDER BY
могут ссылаться на выбранные столбцы по номеру, в котором они появляются в операторе SELECT
. Пример запроса будет подсчитывать количество фильмов на рейтинг и будет:
-
GROUP BY
столбец2
(рейтинг
) -
ПОРЯДОК ПО
столбец1
(total_movies
)
ВЫБРАТЬ СЧЕТЧИК(*) КАК 'total_movies',
рейтинг
ИЗ фильмов
СГРУППИРОВАТЬ ПО 2
ПОРЯДОК ПО 1;
SUM()
Агрегирующая функция Агрегатная функция SUM()
принимает имя столбца в качестве аргумента и возвращает сумму всех значений в этом столбце.
ВЫБЕРИТЕ СУММУ(зарплата)
ИЗ зарплата_выплаты;
MAX()
Агрегирующая функция Агрегатная функция MAX()
принимает имя столбца в качестве аргумента и возвращает наибольшее значение в столбце. Данный запрос вернет наибольшее значение из сумма
столбец.
SELECT MAX(сумма)
ИЗ транзакций;
COUNT()
Агрегированная функция Агрегированная функция COUNT()
возвращает общее количество строк, соответствующих указанным критериям. Например, чтобы найти общее количество сотрудников со стажем менее 5 лет, можно использовать данный запрос.
Примечание: Вместо 9019 также можно использовать имя столбца таблицы.5 * . В отличие от COUNT(*)
, этот вариант COUNT(column)
не будет подсчитывать NULL
значений в этом столбце.
SELECT COUNT(*)
ОТ сотрудников
ГДЕ опыт < 5;
GROUP BY
Предложение Предложение GROUP BY
группирует записи в результирующем наборе по идентичным значениям в одном или нескольких столбцах. Он часто используется в сочетании с агрегатными функциями для запроса информации о похожих записях. 9Предложение 0195 GROUP BY может стоять после FROM
или WHERE
, но должно стоять перед любым предложением ORDER BY
или LIMIT
.
Данный запрос подсчитает количество фильмов на рейтинг.
ВЫБЕРИТЕ рейтинг,
СЧЕТ(*)
ИЗ фильмов
СГРУППИРОВАТЬ ПО рейтингу;
MIN()
Агрегированная функция Агрегированная функция MIN()
возвращает наименьшее значение в столбце. Например, чтобы найти наименьшее значение сумма
из таблицы с именем транзакций
можно использовать данный запрос.
ВЫБРАТЬ МИН(сумма)
ИЗ транзакций;
AVG()
Агрегатная функция Агрегированная функция AVG()
возвращает среднее значение в столбце. Например, чтобы найти среднюю заработную плату
для сотрудников со стажем менее 5 лет, можно использовать данный запрос.
ВЫБЕРИТЕ СРЕДНЕЕ (зарплата)
ОТ сотрудников
ГДЕ стаж < 5;
Предложение HAVING
Предложение HAVING
используется для дополнительной фильтрации групп наборов результатов, предоставляемых предложением GROUP BY
. HAVING
часто используется с агрегатными функциями для фильтрации групп набора результатов на основе агрегатного свойства. Данный запрос выберет только те записи (строки) только за те годы, когда в год выпускалось более 5 фильмов.
Предложение HAVING
всегда должно стоять после предложения GROUP BY
, но должно стоять перед любым предложением ORDER BY
или LIMIT
.
ВЫБЕРИТЕ год,
СЧЕТ(*)
ИЗ фильмов
СГРУППИРОВАТЬ ПО годам
ПРИ СЧЕТЕ(*) > 5;
Агрегированные функции
Агрегированные функции выполняют вычисление набора значений и возвращают одно значение:
-
COUNT()
-
СУММ()
-
МАКС()
-
МИН()
-
АВГ()
ОКРУГЛ()
Функция Функция ОКРУГЛ()
округляет числовое значение до указанного количества разрядов.