| Команда SELECT — це основна інструкція мови SQL (Structured Query Language), яка використовується для отримання вибірок даних з бази. Вона дозволяє отримати інформацію з однієї або кількох таблиць у вигляді, який потрібен користувачу або програмі. |
| SELECT фактично є запитом до бази даних, за допомогою якого можна: • Вибрати конкретні стовпці (поля) з таблиці. • Вибрати всі стовпці таблиці. • Фільтрувати рядки за певними умовами. • Сортувати дані. • Групувати дані. • Здійснювати обчислення над вибраними даними. • Об’єднувати дані з кількох таблиць. |
Синтаксис
Основний синтаксис SELECT
SELECT [стовпці або вирази]
FROM [таблиця]
WHERE [умови]
GROUP BY [стовпці]
HAVING [умови для груп]
ORDER BY [стовпці]
LIMIT [кількість_рядків];
Пояснення
| SELECT — задає, які саме стовпці або вирази потрібно вибрати. Можна вибрати конкретні стовпці (наприклад, name, age) або всі (*). |
| FROM — визначає таблицю або таблиці, з яких буде здійснюватися вибірка. |
| WHERE — задає умови відбору рядків, що відфільтровує дані. Наприклад, age > 18 вибирає лише тих, у кого вік більший за 18. |
| GROUP BY — використовується для групування рядків за певними стовпцями. Наприклад, підрахунок кількості користувачів у кожному місті. |
| HAVING — умови, які застосовуються до згрупованих даних (фільтрація груп). |
| ORDER BY — задає порядок сортування вибірки, наприклад, за зростанням чи спаданням. |
| LIMIT — обмежує кількість рядків у результаті, що повертається. |
Розширені можливості SELECT
| Використання агрегатних функцій: COUNT(), SUM(), AVG(), MIN(), MAX() для обчислень по групах. |
| Об’єднання таблиць (JOIN): можна вибирати дані з декількох таблиць, пов’язаних між собою. |
| Підзапити (Subqueries): запити всередині інших запитів. |
| Вибір унікальних значень (DISTINCT): виключає повтори. |
Значення SELECT
| Основний спосіб отримання даних з бази. |
| Відповідає за більшість операцій читання інформації. |
| Забезпечує гнучкість для вибору тільки потрібних даних. |
| Підтримує корисні механізми фільтрації, сортування та агрегації. |
| Використовується у всіх типах додатків, які працюють з базами даних. |
Приклад
-- Створення бази даних
CREATE DATABASE select_practice_1;
USE select_practice_1;
-- Створення таблиці
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
email VARCHAR(100),
age INT
);
-- Наповнення таблиці даними
INSERT INTO users (name, email, age) VALUES
('Олена Іваненко', 'olena@example.com', 25),
('Андрій Петренко', 'andriy@example.com', 17),
('Марія Коваленко', 'maria@example.com', 30),
('Ігор Сидоренко', 'ihor@example.com', 22),
('Світлана Шевчук', 'svitlana@example.com', 19),
('Дмитро Бондар', 'dmytro@example.com', 16),
('Катерина Шевченко', 'kateryna@example.com', 28),
('Олександр Мельничук', 'oleksandr@example.com', 21);
-- Вибрати всі стовпці з таблиці users:
SELECT * FROM users;
-- Вибрати конкретні стовпці:
SELECT name, email FROM users;
-- Вибрати користувачів старших 18 років:
SELECT name, age FROM users WHERE age > 18;
-- Відсортувати користувачів за віком у спадному порядку:
SELECT name, age FROM users ORDER BY age DESC;
-- Вибрати перші 5 користувачів за віком:
SELECT name, age FROM users ORDER BY age DESC LIMIT 5;
Для додаткової візуалізації є відео.