SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
DROP VIEW IF EXISTS groups_v; DROP VIEW IF EXISTS films_with_feedback; DROP VIEW IF EXISTS film_session_reservations; DROP TABLE IF EXISTS feedback; DROP TABLE IF EXISTS reservation; DROP TABLE IF EXISTS sessions; DROP TABLE IF EXISTS users; DROP TABLE IF EXISTS hall; DROP TABLE IF EXISTS film; CREATE TABLE users( user_id serial PRIMARY KEY, user_name varchar(32) NOT NULL, email varchar(25), phone varchar(11), pass varchar(128) NOT NULL ); CREATE TABLE sessions( id_sessions serial primary key, id_film integer, start_time varchar(10), date1 varchar(5), id_hall varchar(5) not Null ); CREATE TABLE reservation( id_reservation serial primary key, id_sessions integer REFERENCES sessions(id_sessions), id_user integer REFERENCES users(user_id), place integer ); CREATE TABLE hall( id_hall serial primary key, number_zala real, capacity integer CHECK (capacity > 0) ); CREATE TABLE film( id_film serial primary key, film_name varchar(50), genre varchar(20), director varchar(40), Date_of_publicationvarchar(5), description text ); CREATE TABLE feedback( id_feedback serial primary key, id_film integer REFERENCES film(id_film), id_user integer REFERENCES users(user_id), rating integer CHECK ((rating>=1) AND (rating<=10)), text_feedback text, date_feedback varchar(5) ); INSERT INTO users (user_id, user_name, phone, pass) VALUES (522, 'Соня', '89225638456', 'qwerty24'), (354, 'Саша', '89532564859', 'rgvijmgv34'), (965, 'Мария', '9225697841', 'gagazs56'), (245, 'Женя', '89536987412', ';lkj12'); INSERT INTO sessions (id_sessions, id_film, start_time, date1, id_hall) VALUES (1, 87, 2220, 1511, 528), (5, 56, 1540, 1412, 869), (4, 95, 1456, 3102, 125), (8, 76, 1740, 0506, 456) RETURNING *; INSERT INTO reservation (id_sessions, id_user, place) VALUES (5, 522, 15), (5, 354, 45), (4, 965, 2), (8, 245, 3); INSERT INTO hall (number_zala, capacity) VALUES (9, 51), (4, 45), (1, 21), (2, 32); INSERT INTO film (id_film, film_name, genre, director, Date_of_publication, description) VALUES (87,'месть', 'Козловский' ,'ужасы', 1511, 'текст'), (56,'в метре друг от друга', 'ДжастинМальдони' ,'драма, мелодрама', 1205, 'текст'), (95,'Сваты', 'Юрий морозов' ,'комедия', 0603, 'текст'), (76,'аватар1', 'Джеймс Кэмерон' ,'драма, боевик, приключения', 3102, 'текст'); INSERT INTO feedback (id_film, id_user, rating, text_feedback, date_feedback) VALUES (87, 522, 6, 'Мистический триллер, который держит в напряжении до самого конца. Сложный сюжет и неожиданные повороты сюжета заставляют зрителя гадать, что же будет дальше. Рекомендуется любителям загадок!', 1201), (56, 354, 10, 'Фильм затрагивает важные темы и оставляет глубокий след в душе. Особенно впечатляет игра главного актера, который смог передать все нюансы своего персонажа', 3008), (95, 965, 10, 'Забавная и динамичная комедия, которая идеально подходит для семейного просмотра. Умные шутки и яркие персонажи делают этот фильм легким и приятным. Отличная музыка добавляет настроения!', 0109), (76, 245, 10, 'Удивительное путешествие в неизведанные земли! Захватывающий сюжет и потрясающие визуальные эффекты делают этот фильм обязательным к просмотру. Актеры великолепно передают эмоции, заставляя зрителя переживать каждую минуту."', 3112); SELECT * FROM users; SELECT * FROM sessions; SELECT * FROM reservation; SELECT * FROM hall; SELECT * FROM film; SELECT * FROM feedback; CREATE OR REPLACE VIEW films_with_feedback AS SELECT f.id_film, f.film_name, f.genre, f.director, fb.text_feedback FROM film f JOIN feedback fb ON f.id_film = fb.id_film ORDER BY fb.date_feedback DESC; select * from films_with_feedback; CREATE OR REPLACE VIEW film_session_reservations AS SELECT f.film_name, s.id_sessions, s.start_time, s.date1, COUNT(r.place) FROM film f JOIN sessions s ON f.id_film = s.id_film JOIN reservation r ON s.id_sessions = r.id_sessions group by f.film_name, s.id_sessions, s.start_time, s.date1; select * from film_session_reservations; create or replace view groups_v as (select 'Минимальноезначение',rating , id_feedback from feedback ORDER BY rating desc LIMIT 1 ) union all (select 'Максимальноезначение', rating, id_feedback from feedback ORDER BY rating LIMIT 1) union all (select 'Среднеезначение', ROUND(avg(gr.rating),2), null from feedback gr ) union all (select 'Суммазначений', sum(rating), null from feedback ); select * from groups_v; Создание представления с агрегатными функциями: create or replace view groups_v as (select 'Минимальноезначение',rating , id_feedback from feedback ORDER BY rating desc LIMIT 1 ) union all (select 'Максимальноезначение', rating, id_feedback from feedback ORDER BY rating LIMIT 1) union all (select 'Среднеезначение', ROUND(avg(gr.rating),2), null from feedback gr ) union all (select 'Суммазначений', sum(rating), null from feedback ); select * from groups_v;

Stuck with a problem? Got Error? Ask ChatGPT!

Copy Clear