Sql что это такое для чайников: SQL простыми словами — ProductStar на vc.ru

SQL простыми словами — ProductStar на vc.ru

На основе материалов спикеров курса “SQL с 0 для анализа данных” собрали все, что нужно знать об SQL на первых порах. Привели реальные кейсы использования языка запросов и показали, как написать ваш первый код.

8227
просмотров

Навигация

  • Что такое 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 на первых порах. Привели реальные кейсы использования языка запросов и показали, как написать ваш первый код.

8227
просмотров

Навигация

  • Что такое 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? — пустышки

Первое, что нужно понять о SQL, это то, что SQL не является процедурным языком , , как Python, C, C++, C# и Java. Для решения задачи на процедурном языке вы пишете процедуру — последовательность команд, которая выполняет одну определенную операцию за другой, пока задача не будет выполнена. Процедура может представлять собой прямую линейную последовательность или может зацикливаться на самой себе, но в любом случае программист определяет порядок выполнения. Решение проблем с помощью SQL.

SQL, с другой стороны, непроцедурен. Чтобы решить проблему с помощью SQL, просто скажите SQL , что вы хотите (как если бы вы разговаривали с джинном Аладдина), вместо того, чтобы сообщать системе , как получить то, что вы хотите. Система управления базами данных (СУБД) решает, как лучше всего получить то, что вы просите.

Хорошо. Вам только что сказали, что SQL не является процедурным языком — и это по сути верно. Однако миллионы программистов (и вы, вероятно, один из них) привыкли решать проблемы процедурным образом. Итак, в последние годы возникло сильное давление, чтобы добавить некоторые процедурные функции в SQL — и теперь SQL включает в себя функции процедурного языка: BEGIN блоков, IF операторов, функций и (да) процедур. С добавлением этих возможностей вы можете хранить программы на сервере, где несколько клиентов могут многократно использовать ваши программы.

Чтобы проиллюстрировать, что подразумевается под «сообщить системе, чего вы хотите», предположим, что у вас есть таблица EMPLOYEE, из которой вы хотите получить строки, соответствующие всем вашим старшим сотрудникам. Вы хотите определить пожилого человека как любого человека старше 40 лет или любого, кто зарабатывает более 100 000 долларов в год. Вы можете выполнить желаемый поиск, используя следующий запрос:

 ВЫБЕРИТЕ * ИЗ СОТРУДНИКОВ, ГДЕ Возраст > 40 ИЛИ Зарплата > 100000 ; 

Этот оператор извлекает все строки из таблицы EMPLOYEE, где либо значение в столбце Age больше 40, либо значение в столбце Salary больше 100 000. В SQL вам не нужно указывать, как извлекается информация. Механизм базы данных проверяет базу данных и сам решает, как выполнить ваш запрос. Вам нужно только указать, какие данные вы хотите получить.

SQL-запрос — это вопрос, который вы задаете базе данных. Если какие-либо данные в базе данных удовлетворяют условиям вашего запроса, SQL извлекает эти данные.

В современных реализациях SQL отсутствуют многие базовые конструкции программирования, которые являются фундаментальными для большинства других языков. В реальных приложениях обычно требуются хотя бы некоторые из этих программных конструкций, поэтому SQL на самом деле является подъязыком данных . Даже с расширениями, которые были добавлены в 1999, 2003, 2005, 2008 и 2011 годах, вам все равно придется использовать SQL в сочетании с процедурным языком (например, C++) для создания полного приложения.

Вы можете извлечь информацию из базы данных с помощью SQL одним из двух способов:

  • Сделайте специальный запрос с клавиатуры, просто набрав оператор SQL и прочитав результаты с экрана. Запросы с клавиатуры подходят, когда вам нужен быстрый ответ на конкретный вопрос. Чтобы удовлетворить неотложную потребность, вам может потребоваться информация, которая вам раньше никогда не требовалась, из базы данных. Скорее всего, вам больше никогда не понадобится эта информация, но она нужна вам сейчас. Введите соответствующий оператор SQL-запроса с клавиатуры, и в нужное время результат появится на вашем экране.
  • Запустите программу, которая собирает информацию из базы данных, а затем выводит информацию на экран или в печатный отчет. Включение SQL-запроса непосредственно в программу — это хороший способ выполнить сложный запрос, который вы, вероятно, будете выполнять снова в будущем. Таким образом, вы можете сформулировать запрос только один раз, чтобы использовать его столько раз, сколько захотите.

(Очень) небольшая история SQL

Язык SQL зародился в одной из исследовательских лабораторий IBM, как и теория реляционных баз данных. В начале 19В 70-х годах, когда исследователи IBM разработали ранние системы реляционных СУБД (или РСУБД), они создали подъязык данных для работы с этими системами. Они назвали предварительную версию этого подъязыка SEQUEL ( S структурированный E английский QUE ry L язык). Однако, когда пришло время официально выпустить свой язык запросов в качестве продукта, они обнаружили, что другая компания уже зарегистрировала торговую марку продукта «Sequel». Поэтому маркетинговые гении IBM решили дать выпущенному продукту имя, отличное от SEQUEL, но все же узнаваемое как член того же семейства. Поэтому они назвали его SQL, произносится как 9.0002 ess-que-ell . Хотя официальное произношение — ess-que-ell, люди привыкли произносить это слово как «Sequel» в первые дни перед релизом и продолжают это делать. Эта практика сохранилась до наших дней; некоторые люди скажут «Продолжение», а другие скажут «S-Q-L», но оба они говорят об одном и том же.

Синтаксис SQL представляет собой форму структурированного английского языка, откуда и произошло его первоначальное название. Однако SQL не является структурированным языком в том смысле, в каком его понимают компьютерщики. Таким образом, несмотря на предположения многих людей, SQL не является аббревиатурой, обозначающей «язык структурированных запросов». Это последовательность из трех букв, которые ничего не обозначают, точно так же, как название языка Си ничего не обозначает.

Работа IBM с реляционными базами данных и SQL была хорошо известна в отрасли еще до того, как IBM представила свой продукт реляционной базы данных SQL/DS (RDBMS) в 1981 году. К тому времени Relational Software, Inc. (ныне Oracle Corporation) уже выпустила свою первую СУБД. . Эти ранние продукты сразу же установили стандарт для нового класса систем управления базами данных. Они включили SQL, который стал стандартом де-факто для подъязыков данных. Производители других систем управления реляционными базами данных выпустили свои собственные версии SQL. Как правило, эти другие реализации содержали все основные функциональные возможности продуктов IBM, расширенные таким образом, чтобы использовать сильные стороны их собственного продукта RDBMS. В результате, хотя почти все поставщики использовали ту или иную форму SQL, совместимость между платформами была плохой.

Реализация — это конкретная СУБД, работающая на определенной аппаратной платформе.

Вскоре началось движение за создание общепризнанного стандарта SQL, которого мог бы придерживаться каждый. В 1986 году ANSI (Американский национальный институт стандартов) выпустил формальный стандарт под названием SQL-86. ANSI обновил этот стандарт в 1989 году до SQL-89 и снова в 1992 году до SQL-92. По мере выпуска новых выпусков своих продуктов поставщики СУБД стараются еще больше приблизить свои реализации к этому стандарту. Эти усилия значительно приблизили цель истинной переносимости SQL к реальности.

Самой последней полной версией стандарта SQL является SQL:2016 (ISO/IEC 9075-X:2016). Каждая конкретная реализация SQL в определенной степени отличается от стандарта. Поскольку полный стандарт SQL носит всеобъемлющий характер, маловероятно, что имеющиеся в настоящее время реализации будут полностью его поддерживать. Однако поставщики СУБД работают над поддержкой основного подмножества стандартного языка SQL. Полный стандарт ISO/IEC доступен для покупки, но вы, вероятно, не захотите его покупать, если не собираетесь создавать собственную систему управления базами данных стандарта ISO/IEC SQL. Стандарт носит высокотехнологичный характер и практически непонятен никому, кроме специалиста по языку программирования.

Об этой статье

Эта статья взята из книги:

  • SQL для чайников,

Об авторе книги:

Аллен Г. Тейлор — ветеран компьютерной индустрии с 30-летним стажем и автор более 40 книг, в том числе SQL для чайников и Crystal Reports для чайников. Он читает лекции по базам данных, инновациям и предпринимательству. Он также преподает разработку баз данных на международном уровне через ведущего поставщика онлайн-образования.

Эту статью можно найти в категории:

  • SQL ,

SQL для чайников — Library Connection, Inc.

SQL для чайников — Library Connection, Inc. — OverDrive

Ошибка загрузки страницы.
Попробуйте обновить страницу. Если это не сработает, возможно, возникла проблема с сетью, и вы можете использовать нашу страницу самопроверки, чтобы узнать, что мешает загрузке страницы.
Узнайте больше о возможных проблемах с сетью или обратитесь в службу поддержки за дополнительной помощью.


Поиск

Расширенный

Изучайте SQL простым и увлекательным способом — опыт программирования не требуется!

SQL для чайников, 7-е издание , показывает программистам и веб-разработчикам, как использовать SQL для создания реляционных баз данных и получения из них ценной информации. В этой книге рассматриваются основные возможности языка SQL. Рассматриваемые темы включают в себя использование SQL для структурирования СУБД и реализации проекта базы данных; защитить базу данных; и получить информацию из базы данных. Это издание будет пересмотрено, чтобы отразить новые усовершенствования SQL/XML:2008.

Последнее обновление многолетнего бестселлера SQL For Dummies, , который был продан тиражом более 210 000 единиц в шести выпусках.

SQL — самый популярный язык баз данных в мире.

Охватывает создание, доступ, управление, обслуживание и хранение информации в системах управления реляционными базами данных (СУБД), таких как Access, Oracle, SQL Server и MySQL.

Включает новые материалы по использованию SQL с XML для поддержки веб-сайтов, управляемых данными, и использованию SQL с Access 2010

Будь вы напуганы разработкой баз данных или звездой системного администратора, SQL For Dummies, 7th Dummies поможет вам быстро запустить свой веб-сайт.


Компьютерные технологии

Документальная литература

  • Детали