-- Запросы к базе данных массажного салона Василиса
-- Крамской Н.Д., группа ПР-25.106
USE VasilisaSalon;
GO
-- Запрос 1: Вывести всех клиентов
SELECT *
FROM client;
-- Запрос 2: Вывести все услуги дороже 2000 рублей
SELECT service_name, price
FROM service
WHERE price > 2000;
-- Запрос 3: Вывести сотрудников которые активны
SELECT full_name, phone, hire_date
FROM employee
WHERE is_active = 1;
-- Запрос 4: Вывести все кабинеты отсортированные по названию
SELECT room_name, capacity
FROM room
ORDER BY room_name;
-- Запрос 5: Вывести клиентов у которых есть противопоказания
SELECT full_name, phone, contraindications
FROM client
WHERE contraindications != N'Нет';
-- Запрос 6: Вывести имя клиента и название услуги из записей на приём
SELECT c.full_name AS Клиент, s.service_name AS Услуга, a.appoint_date AS Дата
FROM appointment a
JOIN client c ON a.client_id = c.client_id
JOIN service s ON a.service_id = s.service_id;
-- Запрос 7: Вывести сотрудников с их должностью
SELECT e.full_name AS Сотрудник, p.position_name AS Должность
FROM employee e
JOIN position_ref p ON e.position_id = p.position_id;
-- Запрос 8: Посчитать количество клиентов в базе
SELECT COUNT(*) AS Количество_клиентов
FROM client;
-- Запрос 9: Вывести абонементы которые ещё активны
SELECT client_id, service_id, total_sessions, used_sessions, expiry_date
FROM subscription
WHERE is_active = 1;
-- Запрос 10: Вывести материалы у которых остаток меньше минимума
SELECT material_name, stock_qty, min_stock_qty
FROM material
WHERE stock_qty <= min_stock_qty;
-- Запрос 11: Добавить нового клиента
INSERT INTO client (full_name, phone, email, birth_date, contraindications, allergies, reg_date, pd_consent)
VALUES (N'Сидоров Владимир Олегович', N'+79139876543', NULL, '1991-04-15', N'Нет', N'Нет', '2026-05-25', 1);
-- Запрос 12: Добавить новую услугу
INSERT INTO service (service_name, service_type_id, duration_min, price)
VALUES (N'Массаж стоп 30 мин', 1, 30, 1200);
-- Запрос 13: Добавить запись на приём
INSERT INTO appointment (client_id, employee_id, service_id, room_id, appoint_date, start_time, end_time, status, subscription_id)
VALUES (11, 3, 11, 1, '2026-05-29', '10:00', '10:30', N'Запланирован', NULL);
-- Запрос 14: Удалить клиента которого только что добавили
DELETE FROM client
WHERE phone = N'+79139876543';
-- Запрос 15: Удалить все отменённые записи на приём
DELETE FROM appointment
WHERE status = N'Отменён';