CREATE TABLE rooms (
id serial PRIMARY KEY,
room_number varchar(10) NOT NULL,
room_type varchar(30),
seats int,
has_projector boolean DEFAULT false,
opened_date timestamp
);
CREATE TABLE lessons (
id serial PRIMARY KEY,
room_id integer NOT NULL REFERENCES rooms(id),
subject varchar(60) NOT NULL,
duration_min integer,
starts_at timestamp
);
CREATE TABLE students (
id serial PRIMARY KEY,
last_name varchar(50) NOT NULL,
birth_date date,
gpa numeric(3,2)
);
INSERT INTO rooms
(room_number, room_type, seats, has_projector, opened_date)
VALUES
('312', 'компьютерный', 25, true, '2020-09-01'),
('208', 'лекционный', 60, true, '2018-09-01'),
('105', 'лаборатория', 15, false, '2022-01-15');
INSERT INTO students (last_name, birth_date, gpa)
VALUES
('Иванов', '2009-03-14', 4.55),
('Петрова', '2008-11-02', 4.90);
INSERT INTO lessons
(room_id, subject, duration_min, starts_at)
VALUES
(1, 'Основы работы с базами данных', 90, '2026-09-02 09:00'),
(1, 'Веб-разработка', 90, '2026-09-02 10:40'),
(2, 'Математика', 45, '2026-09-02 09:00');
SELECT * FROM students;
SELECT room_number, seats FROM rooms
WHERE seats > 20
ORDER BY seats DESC;