Що таке SQL?
SQL (Structured Query Language) — це мова, яка використовується для взаємодії з базами даних. Можна сказати, що це основна “мова спілкування” з БД.
За допомогою SQL можна вибирати дані з баз, додавати нові записи, оновлювати наявні дані або видаляти інформацію.
Перед тим, як почати писати запити, важливо зрозуміти структуру бази даних, з якою ви працюєте. Бази даних складаються з таблиць, які мають рядки (дані) та стовпці (поля). Таблиці можуть бути пов'язані між собою за допомогою ключів.
Наприклад, якщо у вас є база даних про співробітників компанії, вона може мати таблиці:
employees (співробітники): містить інформацію про кожного працівника (ім'я, прізвище, посада тощо).
departments (відділи): інформація про відділи, в яких працюють співробітники.
Перш ніж почати писати запити, варто вивчити кілька ключових команд SQL:
SELECT — вибирає дані з таблиці.
FROM — вказує, з якої таблиці потрібно вибирати дані.
WHERE — фільтрує дані за певними умовами.
INSERT INTO — додає нові записи до таблиці.
UPDATE — оновлює дані в таблиці.
DELETE — видаляє записи з таблиці.
Розглянемо базовий SQL-запит. Наприклад, у вас є таблиця employees, і ви хочете вибрати всіх співробітників.
SELECT * FROM employees;
Цей запит вибирає всі записи (рядки) з таблиці employees. Команда SELECT вибирає дані, а * означає «всі стовпці». Команда FROM вказує таблицю, з якої беруться дані.
Часто потрібно вибирати не всі дані, а лише ті, що відповідають певним умовам. Для цього використовується оператор WHERE. Наприклад, ви хочете вибрати тільки тих співробітників, які працюють у відділі "Маркетинг":
SELECT * FROM employees
WHERE department = 'Маркетинг';
У цьому запиті вибираються всі співробітники з таблиці employees, де відділ дорівнює "Маркетинг".
Не завжди потрібно отримувати всі стовпці з таблиці. Якщо вас цікавлять тільки ім'я та прізвище співробітників, можна зробити запит таким чином:
SELECT first_name, last_name FROM employees;
Цей запит вибирає лише стовпці first_name та last_name з таблиці employees.
Якщо вам потрібно впорядкувати результати запиту за певним стовпцем, використовуйте команду ORDER BY. Наприклад, ви хочете отримати список співробітників у алфавітному порядку:
SELECT first_name, last_name FROM employees
ORDER BY last_name ASC;
Тут ASC означає «за зростанням» (від A до Z). Якщо потрібно сортувати за спаданням, можна використати DESC.
SQL також дозволяє додавати нові дані до таблиці. Наприклад, щоб додати нового співробітника в таблицю employees, можна використати такий запит:
INSERT INTO employees (first_name, last_name, department)
VALUES ('Олександр', 'Петренко', 'Маркетинг');
Цей запит додає нового співробітника Олександра Петренка до відділу маркетингу.
Якщо ви хочете змінити дані у наявному записі, використовуйте команду UPDATE. Наприклад, щоб змінити відділ для Олександра Петренка на "Продажі", запит виглядатиме так:
UPDATE employees
SET department = 'Продажі'
WHERE first_name = 'Олександр' AND last_name = 'Петренко';
Цей запит оновлює стовпець department для співробітника Олександра Петренка.
Щоб видалити записи з таблиці, використовується команда DELETE. Наприклад, щоб видалити співробітника Олександра Петренка, можна написати такий запит:
DELETE FROM employees
WHERE first_name = 'Олександр' AND last_name = 'Петренко';
Цей запит видаляє всі записи, що відповідають умовам у WHERE.
Лайфхаки для початківців
Вчіться на помилках. SQL сам вказує на помилки у запитах, тому не бійтеся їх робити. Читайте повідомлення про помилки та шукайте рішення — це один із найшвидших способів навчання.
Використовуйте онлайн-ресурси. Спробуйте платформи на зразок SQLZoo для практики в режимі реального часу. Це допоможе швидше відпрацювати навички.
1. Крапка з комою (;) — завершення запиту
Кожен SQL-запит завершується крапкою з комою. Вона вказує системі бази даних, що запит завершено і його можна виконати. Без цього символу багато СУБД просто не виконають запит.
SELECT * FROM employees;
2. Коми (,) для розділення стовпців
Якщо ви вибираєте або вставляєте кілька стовпців одночасно, їх потрібно розділяти комами. Це допомагає чітко розрізняти поля.
SELECT first_name, last_name, department FROM employees;
У цьому прикладі три стовпці (first_name, last_name, department) розділені комами.
3. Дужки (()) для об'єднання виразів
Дужки в SQL використовуються для групування виразів та виконання функцій. Наприклад, коли ви використовуєте функцію або хочете контролювати порядок виконання операцій, ви обгортаєте аргументи функції дужками.
SELECT COUNT(*) FROM employees WHERE department = 'Sales';
Тут дужки використовуються для функції COUNT(), яка рахує кількість рядків у таблиці.
4. Використання лапок
SQL використовує кілька типів лапок, і важливо не плутати їх між собою.
Одинарні лапки (' ') — для текстових значень (рядків).
SELECT * FROM employees WHERE department = 'Sales';
Подвійні лапки (" ") — для імен стовпців або таблиць, якщо вони містять пробіли або інші спецсимволи.
SELECT "First Name", "Last Name" FROM employees;
5. Перенесення на новий рядок
SQL-запити можуть бути записані в один рядок, але для кращої читабельності їх часто розбивають на кілька рядків. Це особливо корисно для складних запитів.
Рекомендуємо переносити кожну основну команду SQL на новий рядок:
SELECT first_name, last_name
FROM employees
WHERE department = 'Sales'
ORDER BY last_name;
Така структура допомагає краще розуміти запит та робить код більш впорядкованим.
6. Ключові слова великими літерами
За традицією, ключові слова SQL, такі як SELECT, FROM, WHERE, пишуть великими літерами, тоді як імена стовпців, таблиць та інші дані — малими. Це не обов'язкове правило, але воно покращує читабельність коду.
SELECT first_name, last_name
FROM employees
WHERE department = 'Sales';
7. Коментарі
Коментарі допомагають пояснити код і зручні для великих або складних запитів. У SQL є два типи коментарів:
Однорядковий коментар (починається з --):
-- Це запит для вибору всіх співробітників
SELECT * FROM employees;
Багаторядковий коментар (обрамлений /* ... */):
/* Цей запит вибирає всіх співробітників з відділу продажів
і сортує їх за зарплатою */
SELECT * FROM employees WHERE department = 'Sales';
8. Порядок виконання команд у запиті
Правильний порядок команд у запиті має вирішальне значення для його коректного виконання. Так виглядає базовий порядок виконання SQL-запитів:
SELECT — вибираємо стовпці.
FROM — визначаємо таблицю.
WHERE — фільтруємо рядки.
GROUP BY — групуємо результати за певними стовпцями.
HAVING — фільтруємо результати групування.
ORDER BY — сортуємо результати.
SELECT department, COUNT(*)
FROM employees
WHERE salary > 50000
GROUP BY department
HAVING COUNT(*) > 10
ORDER BY department;
9. Використання псевдонімів (аліасів)
Псевдоніми дозволяють спростити імена стовпців або таблиць, щоб зробити код більш зручним для читання.
SELECT e.first_name, e.last_name, d.department_name
FROM employees AS e
JOIN departments AS d ON e.department_id = d.id;
У цьому запиті використано псевдоніми для таблиць employees (як e) та departments (як d), щоб зробити запит коротшим і читабельним.
Що акуратніше ви організуєте свої запити, то простіше буде їх підтримувати та редагувати в майбутньому.
SQL — це потужний інструмент, який значно спрощує роботу з базами даних. Попри те, що SQL здається складним на початку, з часом ви зрозумієте, наскільки він інтуїтивний. Головне — це практика та бажання.
Якщо ви хочете навчитися працювати з SQL на професійному рівні, запрошуємо на курс “SQL для бізнес-користувачів. Ви отримаєте знання і практичні навички, які допоможуть швидко стати майстром у роботі з базами даних.