Hi! Could we please enable some services and cookies to improve your experience and our website?

SQLize | PHPize | SQLtest

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

A A A
Login    Share code      Blog   FAQ
Copy Format Clear
CREATE schema University; -- Информация о группе CREATE table University.GROUP ( group_no INTEGER NOT NULL PRIMARY KEY, basis VARCHAR(255) NOT NULL, year_in INTEGER NOT NULL, year_out INTEGER NOT NULL ); -- Информация о студенте CREATE table University.STUDENT ( student_id SERIAL PRIMARY KEY, first_nm VARCHAR(255) NOT NULL, second_nm VARCHAR(255) NOT NULL, birth_dt DATE, group_no INTEGER NOT NULL, FOREIGN KEY (group_no) REFERENCES University.GROUP(group_no) ); --Информация о кафедре CREATE table University.CHAIR ( chair_id SERIAL PRIMARY KEY, chair_nm VARCHAR(255) NOT NULL, opening_year INTEGER NOT NULL ); --Информация о предмете CREATE table University.SUBJECT( subject_id SERIAL PRIMARY KEY, subject_nm VARCHAR(255) NOT NULL, sem_start INTEGER CHECK (sem_start > 0 and sem_start <= 12), sem_end INTEGER CHECK (sem_end >= sem_start and sem_end <= 12), chair_id INTEGER NOT NULL, FOREIGN KEY (chair_id) REFERENCES University.CHAIR(chair_id) ); --Информация о преподавателе CREATE table University.TEACHER ( teacher_id SERIAL PRIMARY KEY, first_nm VARCHAR(255) NOT NULL, second_nm VARCHAR(255) NOT NULL, salary INTEGER CHECK(salary > 0) ); --Таблица-связка студент - предмет CREATE table University.STUDENT_x_SUBJECT ( student_id INTEGER NOT NULL, subject_id INTEGER NOT NULL, valid_from DATE NOT NULL, exam_form VARCHAR(255) CHECK(exam_form = 'устный экзамен' OR exam_form = 'диф. зачет'), mark INTEGER CHECK(mark > 0 AND mark < 11), PRIMARY KEY (student_id, subject_id, valid_from), FOREIGN KEY (student_id) REFERENCES University.STUDENT(student_id), FOREIGN KEY (subject_id) REFERENCES University.Subject(subject_id) ); --Таблица-связка предмет-преподаватель CREATE table University.SUBJECT_x_TEACHER ( subject_id INTEGER NOT NULL, teacher_id INTEGER NOT NULL, PRIMARY KEY(subject_id, teacher_id), FOREIGN KEY (subject_id) REFERENCES University.Subject(subject_id), FOREIGN KEY (teacher_id) REFERENCES University.TEACHER(teacher_id) ); --Таблица-связка преподаватель-кафедра CREATE table University.TEACHER_x_CHAIR ( teacher_id INTEGER NOT NULL, chair_id INTEGER NOT NULL, PRIMARY KEY(teacher_id, chair_id), FOREIGN KEY (teacher_id) REFERENCES University.TEACHER(teacher_id), FOREIGN KEY (chair_id) REFERENCES University.CHAIR(chair_id) ); -- DDL скрипты на ALTER ALTER TABLE University.STUDENT ADD school_name VARCHAR(255); ALTER TABLE University.STUDENT DROP school_name; -- DDL скрипты на DROP -- DROP TABLE University.GROUP, University.CHAIR, University.TEACHER, University.SUBJECT, University.STUDENT, -- University.STUDENT_x_SUBJECT, University.SUBJECT_x_TEACHER, University.TEACHER_x_CHAIR; -- DROP schema University; -- GROUP INSERT INTO University.GROUP VALUES (27, 'ПМИ', 2020, 2024); INSERT INTO University.GROUP VALUES (3, 'ПМФ', 2020, 2024); INSERT INTO University.GROUP VALUES (124, 'ПМИ', 2021, 2025); INSERT INTO University.GROUP VALUES (801, 'ПМФ', 2018, 2022); INSERT INTO University.GROUP VALUES (920, 'ПМИ', 2019, 2023); INSERT INTO University.GROUP VALUES (126, 'ПМИ', 2021, 2025); INSERT INTO University.Group VALUES (927, 'ПМИ', 2019, 2023); -- STUDENT INSERT INTO University.STUDENT VALUES (1, 'Александр', 'Баринов', '27/10/2003', 27); INSERT INTO University.STUDENT VALUES (2, 'Шестопалов', 'Даниил', '02/07/2003', 3); INSERT INTO University.STUDENT VALUES (3, 'Давид', 'Гвиниашвили', '23/03/2002', 124); INSERT INTO University.STUDENT VALUES (4, 'Альбина', 'Рухадзе', '10/8/2000', 801); INSERT INTO University.STUDENT VALUES (5, 'Максим', 'Тимошенко', '03/31/2002', 920); INSERT INTO University.STUDENT VALUES (6, 'Дмитрий', 'Медведев', '12/21/2002', 3); INSERT INTO University.STUDENT VALUES (7, 'Никита', 'Монченко', '2/1/2003', 126); INSERT INTO University.STUDENT VALUES (8, 'Михаил', 'Еськов', '05/16/2002', 27); INSERT INTO University.STUDENT VALUES (9, 'Владислав', 'Лазарев', '03/03/2001', 3); INSERT INTO University.STUDENT VALUES (10, 'Валерий', 'Алексинский', '08/08/2002', 927); -- CHAIR INSERT INTO University.CHAIR VALUES (1, 'высшая математика', 1974); INSERT INTO University.CHAIR VALUES (2, 'алгоритмы и технологии программирования', 1995); INSERT INTO University.CHAIR VALUES (3, 'математические основы управления', 2001); INSERT INTO University.CHAIR VALUES (4, 'дискретная математика', 1981); -- SUBJECT INSERT INTO University.SUBJECT VALUES (1, 'метамтический анализ', 1, 4, 1); INSERT INTO University.SUBJECT VALUES (2, 'алгоритмы и структуры данных', 1, 3, 2); INSERT INTO University.SUBJECT VALUES (3, 'базы данных(ПМИ)', 4, 4, 2); INSERT INTO University.SUBJECT VALUES (4, 'базы данных(ПМФ)', 1, 1, 3); INSERT INTO University.SUBJECT VALUES (5, 'Python', 2, 2, 2); INSERT INTO University.SUBJECT VALUES (6, 'ТРЯП', 3, 3, 3); INSERT INTO University.SUBJECT VALUES (7, 'основы комбинаторики и теории чисел', 1, 2, 4); INSERT INTO University.SUBJECT VALUES (8, 'теория вероятностей', 4, 5, 4); -- TEACHER INSERT INTO University.TEACHER VALUES (1, 'Никита', 'Орлов', 100000); INSERT INTO University.TEACHER VALUES (2, 'Вадим', 'Редкозубов', 120000); INSERT INTO University.TEACHER VALUES (3, 'Илья', 'Степанов', 87000); INSERT INTO University.TEACHER VALUES (4, 'Татьяна', 'Краснюк', 65000); INSERT INTO University.TEACHER VALUES (5, 'Гущин', 'Дмитрий', 50000); INSERT INTO University.TEACHER VALUES (6, 'Олег', 'Богданов', 50000); INSERT INTO University.TEACHER VALUES (7, 'Алла', 'Борисова', 71000); -- STUDENT_x_SUBJECT - версионная таблица INSERT INTO University.STUDENT_x_SUBJECT VALUES (1, 1, '05/27/2021', 'устный экзамен', 8); INSERT INTO University.STUDENT_x_SUBJECT VALUES (1, 2, '01/14/2022', 'устный экзамен', 9); INSERT INTO University.STUDENT_x_SUBJECT VALUES (1, 3, '05/18/2022', 'диф. зачет', 10); INSERT INTO University.STUDENT_x_SUBJECT VALUES (1, 5, '06/07/2021', 'диф. зачет', 10); INSERT INTO University.STUDENT_x_SUBJECT VALUES (1, 7, '05/22/2021', 'устный экзамен', 6); INSERT INTO University.STUDENT_x_SUBJECT VALUES (1, 8, '06/15/2022', 'устный экзамен', 9); INSERT INTO University.STUDENT_x_SUBJECT VALUES (2, 1, '06/22/2022', 'устный экзамен', 9); INSERT INTO University.STUDENT_x_SUBJECT VALUES (2, 2, '05/30/2021', 'диф. зачет', 9); INSERT INTO University.STUDENT_x_SUBJECT VALUES (2, 4, '01/10/2021', 'диф. зачет', 8); INSERT INTO University.STUDENT_x_SUBJECT VALUES (2, 6, '12/28/2021', 'устный экзамен', 7); INSERT INTO University.STUDENT_x_SUBJECT VALUES (2, 8, '06/24/2022', 'устный экзамен', 10); INSERT INTO University.STUDENT_x_SUBJECT VALUES (3, 1, '05/30/2022', 'устный экзамен', 4); INSERT INTO University.STUDENT_x_SUBJECT VALUES (3, 2, '01/21/2022', 'устный экзамен', 10); INSERT INTO University.STUDENT_x_SUBJECT VALUES (3, 5, '05/18/2022', 'диф. зачет', 6); INSERT INTO University.STUDENT_x_SUBJECT VALUES (3, 7, '01/10/2022', 'диф. зачет', 2); INSERT INTO University.STUDENT_x_SUBJECT VALUES (4, 1, '05/27/2020', 'устный экзамен', 6); INSERT INTO University.STUDENT_x_SUBJECT VALUES (4, 4, '01/11/2019', 'диф. зачет', 5); INSERT INTO University.STUDENT_x_SUBJECT VALUES (4, 6, '01/15/2020', 'устный экзамен', 6); INSERT INTO University.STUDENT_x_SUBJECT VALUES (5, 2, '12/26/2020', 'устный экзамен', 7); INSERT INTO University.STUDENT_x_SUBJECT VALUES (5, 5, '05/22/2020', 'диф. зачет', 9); INSERT INTO University.STUDENT_x_SUBJECT VALUES (5, 7, '01/20/2020', 'диф. зачет', 3); INSERT INTO University.STUDENT_x_SUBJECT VALUES (6, 1, '06/22/2022', 'устный экзамен', 10); INSERT INTO University.STUDENT_x_SUBJECT VALUES (6, 4, '01/10/2021', 'диф. зачет', 6); INSERT INTO University.STUDENT_x_SUBJECT VALUES (6, 2, '05/30/2021', 'диф. зачет', 5); INSERT INTO University.STUDENT_x_SUBJECT VALUES (6, 6, '12/28/2021', 'устный экзамен', 10); INSERT INTO University.STUDENT_x_SUBJECT VALUES (7, 1, '05/27/2020', 'устный экзамен', 9); INSERT INTO University.STUDENT_x_SUBJECT VALUES (7, 2, '01/21/2022', 'устный экзамен', 7); INSERT INTO University.STUDENT_x_SUBJECT VALUES (7, 5, '05/20/2022', 'диф. зачет', 2); INSERT INTO University.STUDENT_x_SUBJECT VALUES (7, 7, '01/12/2022', 'диф. зачет', 8); INSERT INTO University.STUDENT_x_SUBJECT VALUES (8, 1, '05/27/2021', 'устный экзамен', 4); INSERT INTO University.STUDENT_x_SUBJECT VALUES (8, 2, '01/14/2022', 'устный экзамен', 7); INSERT INTO University.STUDENT_x_SUBJECT VALUES (8, 3, '05/18/2022', 'диф. зачет', 8); INSERT INTO University.STUDENT_x_SUBJECT VALUES (8, 5, '06/07/2021', 'диф. зачет', 2); INSERT INTO University.STUDENT_x_SUBJECT VALUES (8, 7, '05/22/2021', 'устный экзамен', 3); INSERT INTO University.STUDENT_x_SUBJECT VALUES (8, 8, '06/15/2022', 'устный экзамен', 5); INSERT INTO University.STUDENT_x_SUBJECT VALUES (9, 1, '06/22/2022', 'устный экзамен', 6); INSERT INTO University.STUDENT_x_SUBJECT VALUES (9, 4, '01/10/2021', 'диф. зачет', 8); INSERT INTO University.STUDENT_x_SUBJECT VALUES (9, 2, '05/30/2021', 'диф. зачет', 4); INSERT INTO University.STUDENT_x_SUBJECT VALUES (9, 6, '12/28/2021', 'устный экзамен', 5); INSERT INTO University.STUDENT_x_SUBJECT VALUES (10, 2, '12/28/2020','устный экзамен', 6); INSERT INTO University.STUDENT_x_SUBJECT VALUES (10, 5, '05/20/2020', 'диф. зачет', 3); INSERT INTO University.STUDENT_x_SUBJECT VALUES (10, 7, '01/24/2020', 'диф. зачет', 2); -- Версионные записи INSERT INTO University.STUDENT_x_SUBJECT VALUES (10, 7, '02/14/2020', 'диф. зачет', 8); INSERT INTO University.STUDENT_x_SUBJECT VALUES (8, 5, '09/14/2021', 'диф. зачет', 5); INSERT INTO University.STUDENT_x_SUBJECT VALUES (7, 5, '09/12/2022', 'диф. зачет', 7); INSERT INTO University.STUDENT_x_SUBJECT VALUES (3, 7, '02/10/2022', 'диф. зачет', 4); -- SUBJECT_x_TEACHER INSERT INTO University.SUBJECT_x_TEACHER VALUES (1, 2); INSERT INTO University.SUBJECT_x_TEACHER VALUES (2, 3); INSERT INTO University.SUBJECT_x_TEACHER VALUES (3, 1); INSERT INTO University.SUBJECT_x_TEACHER VALUES (4, 1); INSERT INTO University.SUBJECT_x_TEACHER VALUES (5, 3); INSERT INTO University.SUBJECT_x_TEACHER VALUES (6, 4); INSERT INTO University.SUBJECT_x_TEACHER VALUES (7, 5); INSERT INTO University.SUBJECT_x_TEACHER VALUES (8, 5); INSERT INTO University.SUBJECT_x_TEACHER VALUES (1, 6); INSERT INTO University.SUBJECT_x_TEACHER VALUES (8, 7); -- TEACHER_x_CHAIR INSERT INTO University.TEACHER_x_CHAIR VALUES (1, 2); INSERT INTO University.TEACHER_x_CHAIR VALUES (1, 3); INSERT INTO University.TEACHER_x_CHAIR VALUES (2, 1); INSERT INTO University.TEACHER_x_CHAIR VALUES (3, 2); INSERT INTO University.TEACHER_x_CHAIR VALUES (4, 3); INSERT INTO University.TEACHER_x_CHAIR VALUES (5, 4); INSERT INTO University.TEACHER_x_CHAIR VALUES (6, 1); INSERT INTO University.TEACHER_x_CHAIR VALUES (7, 4); INSERT INTO University.TEACHER_x_CHAIR VALUES (5, 3); -- Update - в аббревиатуре CRUD соответствие U - Update UPDATE University.SUBJECT SET subject_nm = 'математический анализ' WHERE subject_id = 1; UPDATE University.TEACHER SET first_nm = 'Дмитрий', second_nm = 'Гущин' WHERE teacher_id = 5; UPDATE University.STUDENT SET birth_dt = '05/17/2002' WHERE student_id = 8; UPDATE University.CHAIR SET opening_year = '1965' WHERE chair_nm = 'высшая математика'; UPDATE University.TEACHER SET salary = '98500' WHERE teacher_id = 2; UPDATE University.TEACHER SET salary = '93400' WHERE teacher_id = 1; UPDATE University.TEACHER SET salary = '8988' WHERE teacher_id = 5; UPDATE University.TEACHER SET salary = '100200' WHERE teacher_id = 1; UPDATE University.STUDENT SET first_nm = 'Наталья' WHERE student_id = 9; UPDATE University.STUDENT_x_SUBJECT SET mark = 10 WHERE student_id = 2 AND subject_id = 1; UPDATE University.STUDENT_x_SUBJECT SET mark = 9 WHERE student_id = 3 AND subject_id = 2; UPDATE University.STUDENT_x_SUBJECT SET mark = 9 WHERE student_id = 8 AND subject_id = 3; -- Select - в аббревиатуре CRUD соответствие R - Read SELECT * FROM University.CHAIR; SELECT * FROM University.STUDENT; SELECT * FROM University.GROUP; SELECT * FROM University.TEACHER; -- Средняя оценка по всем ученикам по всем предметам SELECT AVG(mark) AS avg_mark FROM University.STUDENT_x_SUBJECT; -- Средняя зарплата преподавателей SELECT AVG(salary) AS avg_salary FROM University.TEACHER; -- Возраст самого старшего ученика в БД SELECT ('05/25/2022' - MIN(birth_dt)) / 365 AS age_oldest FROM University.STUDENT; -- Возраст самого младшего ученика в БД SELECT ('05/25/2022' - MAX(birth_dt)) / 365 AS age_youngest FROM University.STUDENT; -- Все группы в порядке возрастания номера SELECT group_no FROM University.GROUP ORDER BY group_no; -- Разница между наиб и наим зарплатой учителей SELECT MAX(salary) - MIN(salary) AS salary_diff FROM University.TEACHER; -- Delete - в аббревиатуре CRUD соответствие D - Delete -- Чтоб удалить что-то не нужное - нужно вставить что-то не нужное INSERT INTO University.TEACHER VALUES (8, 'Максим', 'Георгиев', 25000); INSERT INTO University.TEACHER VALUES (9, 'Мария', 'Долина', 33000); INSERT INTO University.GROUP VALUES (22, 'ПМИ', 2020, 2024); INSERT INTO University.STUDENT VALUES (11, 'Полина', 'Лыскова', '12/24/2001', 22); INSERT INTO University.GROUP VALUES (26, 'ПМИ', 2020, 2024); INSERT INTO University.STUDENT VALUES (12, 'Николай', 'Спицын', '12/20/2002', 26); INSERT INTO University.CHAIR VALUES (5, 'общая физика', 1966); INSERT INTO University.SUBJECT_x_TEACHER VALUES (8, 1); DELETE FROM University.TEACHER WHERE teacher_id = 8; DELETE FROM University.TEACHER WHERE teacher_id = 9; DELETE FROM University.STUDENT WHERE student_id = 11; DELETE FROM University.GROUP WHERE group_no = 22; DELETE FROM University.STUDENT WHERE student_id = 12; DELETE FROM University.GROUP WHERE group_no = 26; DELETE FROM University.STUDENT_x_SUBJECT WHERE student_id = 6 AND subject_id = 1; DELETE FROM University.STUDENT_x_SUBJECT WHERE student_id = 1 AND subject_id = 5; DELETE FROM University.CHAIR WHERE chair_id = 5; DELETE FROM University.SUBJECT_x_TEACHER WHERE subject_id = 8 AND teacher_id = 1;

Stuck with a problem? Got Error? Ask AI support!

Copy Clear