Перш ніж з головою зануритись у практику, давай розберемося, що таке 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 немає єдиного обов'язкового форматування: головний принцип — написання зрозумілого і читабельного коду.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ