Projektowanie kwerend do relacyjnej bazy danych "Wypożyczalnia samochodów". Kwerendy grupujące i obliczające

1. Z bazy danych pobrać następujące informacje: (numer rejestracyjnymarkamodelcena za godzinęcena za kilometrdata przeglądudata ważności ubezpieczenia) dla aut, które mają ważny przegląd, są ubezpieczone, sprawne i można je aktualnie wypożyczyć.

20141203-01

SELECT tbl_samochody.Nr_rejestracyjny, tbl_auto_model_marka.Marka, tbl_auto_model_marka.Model, tbl_cennik.Cena_za_h, tbl_cennik.Cena_za_km, tbl_przeglady.Data_przegladu, tbl_ubezpieczenia.Data_konca_ubezp
FROM (((((tbl_auto_model_marka RIGHT JOIN tbl_samochody ON tbl_auto_model_marka.Nr_model_marka = tbl_samochody.Nr_model_marka) LEFT JOIN tbl_przeglady ON tbl_samochody.ID_auta = tbl_przeglady.ID_auta) LEFT JOIN tbl_samochody_dane ON tbl_samochody.ID_auta = tbl_samochody_dane.ID_auta) LEFT JOIN tbl_ubezpieczenia ON tbl_samochody.ID_auta = tbl_ubezpieczenia.ID_auta) LEFT JOIN (tbl_cennik RIGHT JOIN tbl_wypozyczenia ON tbl_cennik.ID_cennika = tbl_wypozyczenia.ID_cennika) ON tbl_samochody.ID_auta = tbl_wypozyczenia.ID_auta) LEFT JOIN tbl_zwroty ON tbl_wypozyczenia.ID_wypozyczenia = tbl_zwroty.ID_wypozyczenia
WHERE (((tbl_ubezpieczenia.Data_konca_ubezp)>=Date()) AND ((tbl_przeglady.Data_waznosci_przegladu)>=Date()) AND ((tbl_samochody.Czy_sprawny)=True) AND ((tbl_wypozyczenia.Data_godzina_wypozyczenia) Is Not Null) AND ((tbl_zwroty.Data_godzina_zwrotu) Is Not Null)) OR (((tbl_ubezpieczenia.Data_konca_ubezp)>=Date()) AND ((tbl_przeglady.Data_waznosci_przegladu)>=Date()) AND ((tbl_samochody.Czy_sprawny)=True) AND ((tbl_wypozyczenia.Data_godzina_wypozyczenia) Is Null) AND ((tbl_zwroty.Data_godzina_zwrotu) Is Null));


2a. Z bazy danych pobrać imionanazwiskanumery telefonów klientek, przy założeniu, że imiona kobiet kończą się na 'a'.

20141203-02a

SELECT tbl_klient.Imie_klienta, tbl_klient.Nazwisko_klienta, tbl_klient.Telefon_komórkowy, tbl_klient_dane.Telefon_domowy
FROM tbl_klient INNER JOIN tbl_klient_dane ON tbl_klient.ID_klienta = tbl_klient_dane.ID_klienta
WHERE (((tbl_klient.Imie_klienta) Like "*a"));

2b. Powyższą kwerendę zmodyfikować w ten sam sposób, aby wyświetlane były dane klientów przy założeniu, że nie kończą się na literę 'a'.

20141203-02b

SELECT tbl_klient.Imie_klienta, tbl_klient.Nazwisko_klienta, tbl_klient.Telefon_komórkowy, tbl_klient_dane.Telefon_domowy
FROM tbl_klient INNER JOIN tbl_klient_dane ON tbl_klient.ID_klienta = tbl_klient_dane.ID_klienta
WHERE (((tbl_klient.Imie_klienta) Not Like "*a"));

2c. Z bazy danych pobrać informację, ile klientów znajduje się w tabeli tbl_klient.

20141203-02c

SELECT Count(*) AS ile_klientow
FROM tbl_klient;

2d. Z bazy danych pobrać następujące informacje: ID_klientaImięNazwiskoPESELilość_wypożyczeń. Dane posortować malejąco wg ilość_wypożyczeń.

2e. Z bazy danych pobrać następujące informacje: Numer rejestracyjnyMarkaModelIlość wypożyczeń w X.2014.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.