
4304 / Языки запросов к БД / МУ к контрольным работам по языкам запросов
.pdf
21
3. Тексты запросов с выводом результата.
Запрос №1. Рассчитать сумму к оплате за прошедший месяц (с учетом количества жильцов).
SQL команда:
Select sum(razmer_opl*kol_gil) as summa_k_oplate, N_licev_cheta From IS_Tafif, IS_Chet, IS_Kvartir, IS_Adres
Where IS_Tafif.kod_tar=IS_Chet.kod_tar and
IS_Chet.Abon_nomer= IS_Kvartir. Abon_nomer and
IS_Kvartir.kod_adr=IS_Adres.kod_adr and
Za_mecyc='за апрель' Group by N_licev_cheta;
Рисунок 4.

22
Запрос №2. Вывести список жильцов, проживающих в комнатах.
SQL команда:
Select Fam, Ymy, Otch
From IS_Kvartir, IS_Adres
where IS_Kvartir.kod_adr=IS_Adres.kod_adr and n_kv is not null and n_komn is not null;
Рисунок 5.
Запрос №3. Подсчитать поступившую оплату за месяц (месяц и год вводятся параметром).
SQL команда:
Select sum(summa) as post_oplata from IS_Oplata, IS_Chet
Where IS_Oplata.kod_cheta=IS_Chet.kod_cheta
and data_opl is not null and
Za_mecyc =:p_mecyc and Za_god=:p_god;

23
Рисунок 6а.
Рисунок 6б.
Запрос №4. Вывести фамилию, имя, отчество жильца, зарегистрированного последним.

24
SQL команда:
Select Fam, Ymy, Otch
From IS_Kvartir where
data_reg = (select max(data_reg) From IS_Kvartir);
Рисунок 7.
Запрос №5. Вывести суммы, проплаченные по домам всех улиц.
SQL команда:
Select sum(summa) as post_oplata, nazv, n_doma
from IS_Oplata, IS_Chet, IS_Kvartir, IS_Adres, IS_ULICA Where IS_ULICA.kod_ul=IS_Adres.kod_ul
and IS_Kvartir.kod_adr=IS_Adres.kod_adr
and IS_Chet.Abon_nomer= IS_Kvartir. Abon_nomer
and IS_Oplata.kod_cheta=IS_Chet.kod_cheta
and data_opl is not null Group by n_doma, nazv;

25
Рисунок 8.