Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --------------------------------
- --- ЗАДАНИЕ 4 (НЕОБЯЗАТЕЛЬНО)
- --- Наименования треков, которые не входят в сборники:
- SELECT t.name AS track_name
- FROM tracks t
- LEFT JOIN collectiontracks ct ON t.id = ct.trackid
- WHERE ct.trackid IS NULL;
- --- Исполнитель или исполнители, написавшие самый короткий по продолжительности трек:
- SELECT a.name AS artist_name, t.name AS track_name, MIN(t.duration) AS min_duration
- FROM artists a
- JOIN albumartists aa ON a.id = aa.artistid
- JOIN albums al ON aa.albumid = al.id
- JOIN tracks t ON al.id = t.albumid
- GROUP BY a.name, t.name
- HAVING MIN(t.duration) IN (
- SELECT MIN(duration)
- FROM tracks);
- --- Названия альбомов, содержащих наименьшее количество треков:
- --- Здесь выведет все 5 альбомов так как у меня там по 2 трека в каждом, да примитивно но для урока думаю сойдёт.
- SELECT al.name AS album_name,
- COUNT(t.id) AS track_count
- FROM albums al
- LEFT JOIN tracks t ON al.id = t.albumid
- GROUP BY al.id, al.name
- HAVING COUNT(t.id) = (
- SELECT COUNT(t2.id)
- FROM albums al2
- LEFT JOIN tracks t2 ON al2.id = t2.albumid
- GROUP BY al2.id
- ORDER BY COUNT(t2.id)
- LIMIT 1
- );
- -- THE END --
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement