Незалежно від того, чи ви новачок у роботі з базами даних, чи просто хочете освіжити свої знання, цей посібник допоможе вам зрозуміти основи SQL. Ми будемо використовувати PostgreSQL, популярну та безкоштовну систему керування базами даних. Ви можете завантажити її з офіційного сайту, а для інсталяції переглянути це відео-посібник або скористатися офіційним посібником.
Розуміння варіантів SQL
Мова структурованих запитів (SQL) реалізована в різних формах, таких як MySQL, SQL Server, SQLite та PostgreSQL.
Створення бази даних та введення даних
Для створення бази даних ви можете клацнути правою кнопкою миші на пункті Databases у PgAdmin або використати SQL-оболонку (psql). Для детальних інструкцій зверніться до цієї статті.
Створення бази даних через PgAdmin
Команда CREATE TABLE використовується для створення нової таблиці. Вона визначає структуру таблиці, включаючи імена стовпців, типи даних, а також будь-які обмеження, такі як первинні ключі або унікальні значення.
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
department_id INT);
CREATE TABLE departments (
department_id INT PRIMARY KEY,
department_name VARCHAR(50)
);
Команда INSERT INTO використовується для додавання записів до таблиці шляхом вказівки імені таблиці та відповідних значень для її стовпців.
INSERT INTO employees (employee_id, first_name,
last_name, department_id) VALUES
(1, 'John', 'Doe', 1),
(2, 'Jane', 'Smith', 2),
(3, 'Alice', 'Johnson', 1),
(4, 'Bob', 'Brown', 3),
(5, 'Eve', 'Davis', 4),
(6, 'Charlie', 'Wilson', 2),
(7, 'Grace', 'Taylor', 1),
(8, 'Mike', 'Anderson', 3),
(9, 'Sophia', 'Thomas', 4),
(10, 'David', 'White', 2);
INSERT INTO departments (department_id, department_name) VALUES
(1, 'Engineering'),
(2, 'Marketing'),
(3, 'Sales'),
(4, 'HR');
Основні команди SQL
- Команда SELECT вибирає конкретні стовпці або всі дані (*) з таблиці.
- Команда FROM визначає таблицю, з якої будуть отримані дані в запиті.
(*) вибирає всі стовпці, а вказані імена стовпців використовуються для точних результатів.
- Команда WHERE фільтрує рядки на основі умови, повертаючи лише ті рядки, які відповідають заданим критеріям, і виключаючи решту.
Запит вибирає всі записи в таблиці, де departmentid дорівнює 1._
- Клауза ORDER BY сортує результати запиту у порядку зростання або спадання на основі одного чи кількох стовпців. Якщо порядок не вказано, за замовчуванням сортування буде у порядку зростання.
Запити можна сортувати за алфавітом, числами, а також за датами/часами.
- Клауза GROUP BY використовується для групування рядків з однаковими значеннями в одному чи кількох стовпцях, що полегшує виконання агрегації за допомогою функцій, таких як COUNT, SUM та AVG, для кожної групи рядків.
Запит групує працівників за departmentid, щоб порахувати кількість працівників у кожному відділі, сортується за departmentid та кількістю у зворотному порядку.
LIMIT обмежує кількість рядків, що повертаються запитом, до вказаного значення, що корисно для великих наборів даних.
Запит групує працівників за відділом, підраховує їх, сортує за кількістю у зворотному порядку, а LIMIT показує тільки перші 2 результати.
Порядок виконання та побудова запиту
SQL виконує запити у визначеному порядку:
- FROM
- WHERE
- GROUP BY
- HAVING
- SELECT
- ORDER BY
- LIMIT
Розуміння порядку виконання допомагає оптимізувати запити та усувати поширені помилки. Створюйте запити, починаючи з клаузи FROM, потім додавайте WHERE для фільтрації, GROUP BY для агрегації, а також ORDER BY для сортування.
Для спрощення запитів вибирайте лише необхідні стовпці та фільтруйте дані на ранніх етапах, щоб підвищити ефективність виконання запиту.
Висновок
Підсумовуючи, розуміння основних команд SQL та їх порядку виконання є важливим для ефективного виконання запитів. У наступній статті ми розглянемо JOINS та розширені функції для більш складних операцій з даними.
Перекладено з: SQL 101: A Beginner’s Guide to Queries and Functions