Прежде чем с головой окунуться в практику, давайте разберёмся, что такое SQL (произносится "эс-кю-эль" или "сиквел", на ваш вкус) и почему он важен.
SQL расшифровывается как Structured Query Language — структурированный язык запросов. Это стандартный язык, который используется для взаимодействия с базами данных. Независимо от того, какую СУБД вы выберете — PostgreSQL, MySQL, Oracle или другую, вы почти наверняка будете использовать SQL.
Представьте, что SQL — это ваш способ "общения" с базой данных. Вы даёте ей команды вроде "покажи мне всех студентов старше 18 лет", и она, как волшебная палочка, вытаскивает нужные данные.
Основные задачи SQL:
- Извлечение данных - узнать, кто записался на курс "История средних веков".
- Добавление данных - добавить нового студента в базу.
- Обновление данных - исправить ошибку в имени студента.
- Удаление данных - удалить студента, который забрал документы из университета.
Зачем нужен SELECT?
SELECT — это, пожалуй, самая важная команда в SQL. В переводе с английского это значит "выбрать". Это ваш инструмент для извлечения нужной информации из базы данных.
Представьте, что вы зашли в библиотеку, где тысячи книг. Вы хотите найти книгу по программированию на Python. Вместо того чтобы бродить между полок, вы говорите библиотекарю: "Принесите мне книги про Python".
В мире баз данных SQL — это ваш библиотекарь, а SELECT — команда "Принеси мне...".
Примеры задач, которые можно решить с помощью SELECT:
- Получить имена всех студентов.
- Узнать, сколько курсов доступно в этом семестре.
- Найти студентов, которые получили оценку выше 90 баллов.
Кроме извлечения данных, SELECT позволяет:
- Фильтровать данные - "покажи только студентов старше 18 лет".
- Сортировать данные - "отсортируй студентов по фамилии".
- Выводить только нужные столбцы, а не всё подряд.
Основные преимущества SQL
SQL — это навык, который ценится практически в любой сфере.
Хотите анализировать данные о продажах в онлайн-магазине? Вам нужен SQL.
Курируете медицинские исследования? Снова SQL. Работаете с автоматизацией процессов? Угадали. SQL.
Почему SQL такой крутой?
- SQL работает практически с любой базой данных.
- SQL написан так, чтобы быть интуитивно понятным.
- Даже сложные SQL-запросы достаточно легко понять.
- С помощью SQL можно обрабатывать огромные объёмы данных и извлекать из них нужную информацию.
Комментарии в PostgreSQL
И еще один важный момент – это комментарии в SQL-запросах. Комментарии – это очень полезная вещь. Во-первых, в них можно писать пояснения и/или свои идеи. Во-вторых, с помощью комментариев можно отключить неработающий код. Или закомментировать старый вариант кода.
Я буду очень часто писать комментарии рядом с кодом, поэтому именно с них мы сегодня и начнем.
В SQL, как и во многих языках программирования, есть однострочные и многострочные комментарии. Многострочный комментарий выглядит примерно так:
/* текст комментария текст комментария текст комментария */
Он начинается с пары символов /* и заканчивается парой */. Его так же можно использовать и в одну строку. Пример:
/* текст комментария */
Также есть вид комментария «от начала и до конца строки», аналогичный джавовому «//» или пайтоновскому «#». Только в SQL нужно написать два символа минус и пробел. Общий вид такого комментария:
-- текст комментария
Пример длинного SQL-запроса, его правая часть закомментирована:
SELECT * FROM employee -- WHERE YEAR(join_date) = 2015
В примере выше мы закомментировали условие запроса, поэтому PostgreSQL выполнит только запрос:
SELECT * FROM employee
Я буду писать свои комментарии рядом с кодом, чтобы упростить его чтение или сделать сложные моменты проще. Я уже это делаю! И вам советуем не пренебрегать этим полезным инструментом. :)
Стиль SQL-запросов
Язык SQL спроектировали максимально user-friendly.
Во-первых, регистр текста запроса обычно не играет роли: вы можете написать SELECT, Select, SeLecT или select, и все будет работать. Во-вторых, перенос строк, как правило, никак не учитывается. СУБД все равно может обработать запрос так, как если бы он был написан в одну длинную строку. Таким образом, у вас есть определенная свобода в том, как писать запросы.
Несмотря на это, хорошо отформатированный SQL-код легче читать, понимать, отлаживать и поддерживать. Поэтому существуют общепринятые рекомендации по стилю.
Рекомендации по форматированию
- Ключевые слова SQL в ВЕРХНЕМ РЕГИСТРЕ. Такие слова, как
SELECT,FROM,WHERE,ORDER BYи т.д., принято писать заглавными буквами. Это помогает визуально отделить их от имен таблиц и столбцов. - Начинайте
SELECT,FROM,WHEREи другие основные части запроса с новой строки. - Точка с запятой
;в конце запроса используется как стандартный разделитель инструкций. Она становится необходимой, когда вы выполняете несколько запросов подряд в одном скрипте или блоке кода. Рекомендуем всегда завершать каждый SQL-запрос точкой с запятой.
Пример оптимального форматирования:
SELECT customer_id, full_name, email, registration_date
FROM customers
WHERE delivery_address = 'Anytown';
Этот запрос можно было бы записать и другими способами, используя разное форматирование. Сейчас не стоит слишком сильно на этом концентрироваться. Помните, что в SQL нет единого обязательного форматирования: руководящий принцип — написание понятного и читаемого кода.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ