Назад к вопросам
Intern
72
questionbank
Какие команды SQL вы знаете?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Основные команды SQL, используемые для работы с базами данных, делятся на несколько категорий:
DDL (Data Definition Language) - для определения и изменения структуры базы данных:
CREATE DATABASE: Создание новой базы данных.CREATE TABLE: Создание новой таблицы.ALTER TABLE: Изменение структуры существующей таблицы (добавление, удаление, изменение столбцов).DROP DATABASE: Удаление базы данных.DROP TABLE: Удаление таблицы.TRUNCATE TABLE: Удаление всех строк из таблицы, сохраняя её структуру.
DML (Data Manipulation Language) - для управления данными внутри таблиц:
SELECT: Выборка данных из одной или нескольких таблиц.INSERT: Вставка новых строк в таблицу.UPDATE: Изменение существующих строк в таблице.DELETE: Удаление строк из таблицы.
DCL (Data Control Language) - для управления правами доступа к данным:
GRANT: Предоставление разрешений пользователям.REVOKE: Отзыв разрешений у пользователей.
TCL (Transaction Control Language) - для управления транзакциями:
COMMIT: Сохранение изменений, внесенных в транзакции.ROLLBACK: Отмена изменений, внесенных в транзакции.SAVEPOINT: Установка точки сохранения внутри транзакции.
Некоторые общие конструкции и операторы, используемые с командами, особенно с SELECT:
WHERE: Фильтрация строк на основе условий.GROUP BY: Группировка строк по значениям одного или нескольких столбцов.HAVING: Фильтрация групп, созданных с помощьюGROUP BY.ORDER BY: Сортировка результирующего набора данных.JOIN: Объединение данных из нескольких таблиц (например,INNER JOIN,LEFT JOIN,RIGHT JOIN,FULL OUTER JOIN).UNION: Объединение результатов несколькихSELECTзапросов.- Функции агрегации (
COUNT,SUM,AVG,MIN,MAX). - Скалярные функции (например,
LOWER,UPPER,SUBSTRING). - Операторы сравнения (
=,!=,<,>,<=,>=,IN,BETWEEN,LIKE). - Логические операторы (
AND,OR,NOT).
Пример использования SELECT с некоторыми конструкциями:
-- Выбрать имя и зарплату сотрудников из отдела 'IT',
-- у которых зарплата больше 50000,
-- сгруппировать по отделу и посчитать среднюю зарплату,
-- отсортировать по средней зарплате по убыванию.
SELECT
department,
AVG(salary) AS average_salary
FROM
employees
WHERE
department = 'IT' AND salary > 50000
GROUP BY
department
HAVING
AVG(salary) > 60000
ORDER BY
average_salary DESC;