/
VladimirMakarov88
/
PostgresSQL_homework
Обзор
Документация
Войти
/
VladimirMakarov88
/
PostgresSQL_homework
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
SELECT_scripts.sql
73 строки
3 KB
VladimirMakarov88
upload files
19 янв 2026, 20:36
Верифицирован
19 янв 2026, 20:36
a01139e
Код
Авторство
О чём код?
-- ЗАДАНИЕ 2 -- Название и продолжительность самого длительного трека SELECT track_name, length FROM tracks WHERE length = (SELECT MAX(length) FROM tracks); -- Название треков, продолжительность которых не менее 3,5 минут SELECT track_name,length FROM tracks WHERE length >= (3.5*60) ORDER BY length DESC; -- Названия сборников, вышедших в период с 2018 по 2020 год включительно SELECT collections_name, year FROM collections WHERE year between 2018 and 2020 ORDER BY year; -- Исполнители, чьё имя состоит из одного слова SELECT name FROM artists WHERE name NOT LIKE '% %'; -- Название треков, которые содержат слово «мой» или «my» SELECT track_name FROM tracks WHERE track_name ILIKE '%My%' or track_name ILIKE '%Мой%' -- ЗАДАНИЕ 3 -- Количество исполнителей в каждом жанре SELECT genre.name as genre, COUNT(genre_art.artists_id) as artists_count FROM genres genre LEFT JOIN genres_artists genre_art ON genre.genres_id = genre_art.genres_id GROUP BY genre.genres_id, genre.name ORDER BY artists_count DESC, genre.name -- Количество треков, вошедших в альбомы 2019–2020 годов SELECT COUNT(*) as tracks_count FROM tracks track JOIN albums alb ON track.albums_id = alb.albums_id WHERE alb.year BETWEEN 2019 AND 2020; -- Средняя продолжительность треков по каждому альбому SELECT album.title_name as album, ROUND(AVG(track.length) / 60, 2) as avg_duration_tracks_in_minutes FROM albums album LEFT JOIN tracks track ON album.albums_id = track.albums_id GROUP BY album.albums_id, album.title_name ORDER BY avg_duration_tracks_in_minutes DESC; -- Все исполнители, которые не выпустили альбомы в 2020 году SELECT DISTINCT art.name FROM artists art WHERE NOT EXISTS ( SELECT 1 FROM albums_artists alb_art JOIN albums al ON alb_art.albums_id = al.albums_id WHERE alb_art.artists_id = art.artists_id AND al.year = 2020) ORDER BY art.name; -- Названия сборников, в которых присутствует конкретный исполнитель (выбрал: Cockney Rejects) SELECT DISTINCT collect.collections_name FROM collections collect JOIN collections_tracks collect_track ON collect.collections_id = collect_track.collections_id JOIN tracks track ON collect_track.tracks_id = track.tracks_id JOIN albums album ON track.albums_id = album.albums_id JOIN albums_artists alb_art ON album.albums_id = alb_art.albums_id JOIN artists art ON alb_art.artists_id = art.artists_id WHERE art.name = 'Cockney Rejects' ORDER BY collect.collections_name;