126W / hw12.03

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Домашнее задание к занятию "12.03 «SQL. Часть 1»" - Евгений Шахов.


Задание 1.

Получите уникальные названия районов из таблицы с адресами, которые начинаются на “K” и заканчиваются на “a” и не содержат пробелов.

select distinct addr.district from sakila.address addr where district like 'K%' and district like '%a' and district not like '% %';

image


Задание 2.

Получите из таблицы платежей за прокат фильмов информацию по платежам, которые выполнялись в промежуток с 15 июня 2005 года по 18 июня 2005 года включительно и стоимость которых превышает 10.00.

select * from sakila.payment where payment_date between '2005-06-15 00:00:00' and '2005-06-18 23:59:59' and amount >= 10 order by payment_date;

image


Задание 3.

Получите последние пять аренд фильмов.

select * from sakila.rental order by rental_date desc limit 5;

image


Задание 4.

Одним запросом получите активных покупателей, имена которых Kelly или Willie. Сформируйте вывод в результат таким образом: все буквы в фамилии и имени из верхнего регистра переведите в нижний регистр, замените буквы 'll' в именах на 'pp'.

select lcase(last_name) last_name, replace (lcase(first_name), 'll', 'pp') first_name, active from customer where first_name = 'Kelly' or first_name = 'Willie'and active >0;

image


Задание 5.

Выведите Email каждого покупателя, разделив значение Email на две отдельных колонки: в первой колонке должно быть значение, указанное до @, во второй — значение, указанное после @.

select substring_index(email, '@', 1), substring_index(email, '@', -1) from customer;

image

select left(email, position('@' in email)) as 'before @', right(email, length(email) - position('@' in email)) as 'after @' from customer;

image


Задание 6.

Доработайте запрос из предыдущего задания, скорректируйте значения в новых колонках: первая буква должна быть заглавной, остальные — строчными.

select email, substring_index(email, '@', 1), concat(left (upper(substring_index(email, '@', 1)), 1), lower(substr((substring_index(email, '@',1)),2))) as '1',
substring_index(email, '@', -1), concat(left(upper(substring_index(email , '@', -1)), 1), lower(substr((substring_index(email , '@',-1)),2))) as '2' from customer c;

image


About