Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 2. Добавить «Can't Stop The Feeling» исполнителя Jonas Blue продолжительностью 253 секунды, трек записан 5 августа 2016 в среднем качестве
- */
- use mybase;
- begin;
- insert into songs(name , quality, duration) values("can not stop the feeling","medium",253);
- select last_insert_id() into @sonvar;
- select sin_id from singers where name = "jonas blue" into @sinvar;
- insert into albums(debut) values("2016-08-05");
- select last_insert_id() into @albvar;
- insert into id_s values(@sinvar,@sonvar,@albvar);
- commit;
- /*
- 3. Переименовать песню «Thinking About It - Nathan Goshen» в «Let It Go»
- */
- begin;
- update (id_s inner join songs on id_s.song_id = songs.son_id) inner join singers on id_s.singer_id = singers.sin_id
- set songs.name = "let it go"
- where singers.name = "nathan goshen";
- rollback;
- /*
- 4. Удалить колонку «e-mail», создать колонку «Сайт» задав по умолчанию значение «нет»
- */
- begin;
- alter table singers drop column email;
- alter table singers add web_page varchar(30) default "none";
- rollback;
- /*
- 5. Вывести все песни и если есть информация, то и исполнителя и альбом
- */
- begin;
- select songs.name , singers.name as singer , albums.name as album
- from ((id_s inner join songs on id_s.song_id = songs.son_id) left join singers on id_s.singer_id = singers.sin_id) left join albums on id_s.album_id = albums.al_id;
- rollback;
- /*
- 6. Вывести все песни, у которых в названии альбома есть «way»
- */
- select songs.name
- from (id_s inner join songs on id_s.song_id = songs.son_id) left join albums on id_s.album_id = albums.al_id
- where albums.name regexp "way";
- /*
- 7. Вывести название и стоимость альбома при условии, что альбом не старше 10 месяцев.
- */
- select name , price from albums
- where (to_days(NOW()) - to_days(debut)) < 300;
- /*
- 8. Вывести название и стоимость альбома и его исполнителя при условии, что он будет самым дорогим для каждого исполнителя.
- */
- create temporary table tt as
- select singers.name , max(albums.price) as price
- from (albums inner join id_s on albums.al_id = id_s.album_id) inner join singers on id_s.singer_id = singers.sin_id
- group by singers.name;
- select * from tt;
- select tt.name as singer ,tt.price ,albums.name as album from tt inner join albums on tt.price = albums.price;
- /*
- 9. Удалить песню «Can't Stop The Feeling» исполнителя Jonas Blue.
- */
- use mybase;
- begin;
- select son_id from (id_s inner join singers on id_s.singer_id = singers.sin_id) inner join songs on id_s.song_id = songs.son_id
- where songs.name = "can not stop the feeling" and singers.name = "jonas blue"
- into @kek;
- delete from songs
- where son_id = @kek;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement