SQL запросы: руководство для начала

Запросы SQL позволяют нам отправлять запросы в базу данных. Создание SQL запросов – простой процесс. Эта статья написана для SQL Server, но большая часть содержимого может быть применена к Oracle, PostgreSQL, MySQL, MariaDB и другим базам с небольшими корректировками. В этой статье будет практическое руководство по быстрому созданию собственных запросов с нуля.

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

Что такое SQL запросы?

Про SQL есть вводная статья на сайте, рекомендуем ознакомиться. Если кратко, то SQL — это язык запросов, который используют базы данных для получения информации. Выкачка информации осуществляется с помощью запроса на языке SQL. В рамках этой статьи рассмотрим и научимся создавать базовые запросы.

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

Теоретические основы про SQL запросы подробно изложены в видео ниже:

Данные в СУБД хранятся в объекте базы данных, называемом таблицей. База данных часто содержит несколько таблиц. При этом, несомненно, каждая таблица обозначается уникальным именем и содержит набор связанных записей, структурированных в виде строк и столбцов.

SQL запрос — это оператор, созданный путем объединения различных команд SQL. Эти команды вместе выполняют определенную задачу по доступу, управлению, изменению, обновлению, контролю и организации ваших данных, хранящихся в базе данных и управляемых через СУБД.

Базовые SQL-запросы

Два важных момента, о которых стоит упомянуть, прежде чем приступить к перечислению базовых запросов SQL:

  1. ключевые слова или команды SQL не чувствительны к регистру; написать «select» то же самое, что написать «SELECT»
  2. Точка с запятой в конце каждого написанного оператора SQL является нормой для некоторых систем и делается для разделения каждого оператора SQL, чтобы их можно было выполнить в одном и том же вызове сервера.

А теперь пора переходить к наиболее популярным базовым запросам? Которые будут построены на основе простой таблицы в БД (ТОП10 фильмов)

ТОП10 фильмов простая БД

SELECT — FROM

Оператор SELECT используется для выбора полей, которые вы хотите просмотреть в таблице БД.

Команда FROM указывает конкретную таблицу в базе данных, из которой вы хотите извлечь данные. Помните, что база данных может состоять из нескольких таблиц.

Синтаксис: SELECT столбец1, столбец2, FROM название_таблицы;

WHERE

Оператор WHERE применяется для добавления дополнительного условия выбора в массиве информации.

Синтаксис: SELECT столбец1, столбец2, … FROM название_таблицы WHERE условие;

Возможности соответствия условию WHERE:

  1. «=» — равно
  2. «>» — больше чем
  3. «<» — меньше чем
  4. «>=» — больше или равно
  5. «<=» — меньше или равно
  6. «<>» или «!=» — не равно
  7. «BETWEEN» — между определенным заданным диапазоном
  8. «LIKE» — поиск значения, соответствующего заданному шаблону
  9. «IN» — указание нескольких возможных значений

Арифметика в SQL

Вы можете выполнять простые арифметические действия в SQL, используя математические символы: + | — | * | /. Однако вы можете выполнять эти операции только со столбцами. Также можно использовать круглые скобки для управления порядком операций. Для более сложных операций — в SQL есть агрегатные функции, которые позволяют выполнять операции в пределах одной строки.

Синтаксис: SELECT Name, (Revenue — Budget) AS profit FROM ТОП10_films

Операторы AND, OR, NOT

Предложение WHERE можно комбинировать с другими условными предложениями с помощью операторов AND, OR и NOT. Такие операторы как OR и AND применяют для фильтрации записей если задано более чем одно условие, а оператор NOT используется для отрицания условия.

Синтаксис: SELECT столбец1, столбец2, … FROM название_таблицы WHERE условие1 AND условие2 AND условие3;

Синтаксис: SELECT столбец1, столбец2, … FROM название_таблицы WHERE условие1 OR условие2 OR условие3;

Синтаксис: SELECT столбец1, столбец2, … FROM название_таблицы WHERE NOT условие;

Оператор AND выводит записи, если все условия, разделенные AND, истинны. Оператор OR показывает запись, если какое-либо из условий, разделенных OR, истинно.

В SQL может быть несколько способов добиться одного и того же результата. Однако некоторые запросы могут быть более производительными, чем другие. Производительность может зависеть от нескольких факторов:

  • объема информации,
  • команд, используемых в запросе,
  • структуры БД,
  • типа данных и т. д.

Это немного более сложная тема, которую мы не будем рассматривать в этом базовом руководстве по SQL запросам.

Функция ORDER BY

Функция запроса ORDER BY применяется для сортировки результата либо по возрастанию (используя ключевое слово ASC), либо по убыванию (используя ключевое слово DESC). По умолчанию сортировка выполняется в порядке возрастания.

Синтаксис: SELECT столбец1, столбец2, … FROM название_таблицы ORDER BY столбец1, столбец2, … ASC|DESC;

Функция LIMIT

Иногда базе данных может потребоваться много времени для выполнения запроса, особенно если объем данных, хранящихся в базе данных, очень велик. Простой и быстрый способ протестировать SQL запрос или примерить результат, который вы получите, — это использовать функцию LIMIT, которая позволяет ограничить количество получаемых результатов.

Синтаксис: SELECT столбец1, столбец2, … FROM название_таблицы LIMIT x; где x – это количество строк для отображения

INSERT INTO используется для добавления новых записей в таблицу базы данных.

Синтаксис: INSERT INTO название_таблицы (столбец1, столбец2, столбец3, …) VALUES (значение1, значение2, значение3, …);

Оператор UPDATE

Мы используем оператор UPDATE для изменения существующих записей в таблице.

Синтаксис: UPDATE название_таблицы SET столбец1 = значение1, столбец2 = значение2, … WHERE условие;

Оператор DELETE

Оператор DELETE используется для удаления существующей записи в таблице.

Синтаксис: DELETE FROM имя_таблицы WHERE условие;

Агрегатные функции в SQL запросе

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

Это агрегатные функции в SQL:

  • COUNT — Подсчитывает количество записей в определенном столбце
  • SUM — Складывает вместе все значения в определенном столбце
  • MIN — Возвращает наименьшее значение в определенном столбце
  • MAX — Возвращает самые высокие значения в определенном столбце
  • AVG — Возвращает среднее значение для выбранной группы

До сих пор мы работали только с одной таблицей за раз. Но настоящая сила баз данных и SQL заключается в возможности работать с данными из нескольких таблиц.

Оператор JOIN

Таблицы в базах данных связаны друг с другом если у них есть общие идентификаторы, которые позволяют легко комбинировать данные из нескольких таблиц. В таком случае используется оператор JOIN. По сути — это аналог функции ВПР в Excel

типы соединений SQL

Оператор UNION

JOINS позволяет подставлять значения из одного набора данных к другому. Но с помощью оператора UNION вы можете дополнять один набор данных поверх другого. Оператор UNION используется для объединения набора результатов двух или более операторов SELECT, когда выполняются следующие «правила»:

  1. Каждый оператор SELECT должен иметь равное количество столбцов.
  2. Столбцы также должны иметь схожие типы данных.
  3. Столбцы, используемые в операторах SELECT, должны быть в одном порядке.

UNION выбирает только отдельные значения, если вам нужны все значения, вы можете использовать UNION ALL.

SQL запросы: выводы

В этой статье мы изучили SQL запросы, используемые в SQL Server для получения данных. Мы только что рассмотрели основы, однако это самые основные и полезные запросы. В этой статье вы узнали, что такое SQL запросы и как писать SQL запросы.

Вы видели синтаксис запроса и несколько вопросов по извлечению данных. Мы начали с простых примеров SQL запросов, используя операторы SELECT | FROM | WHERE, и перешли к немного более сложным SQL запросам, используя объединения, дополнение и агрегацию.

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

Оцените статью
Будни аналитика
Добавить комментарий