1.Wyswietl id wypożyczenia, marke i model wszystkich wypożyczonych aut
select dane_wypozyczen.id_wypozyczenia, samochody.marka, samochody.model from dane_wypozyczen inner join samochody on samochody.id_samochodu=dane_wypozyczen.id_samochodu order by dane_wypozyczen.id_wypozyczenia
2.Wyswietl id wypożyczenia, marke, model i date wypożyczenia wszystkich wypożyczonych aut
SELECT dane_wypozyczen.id_wypozyczenia, samochody.marka, samochody.model, wypozyczenia.data_wyp from dane_wypozyczen inner JOIN samochody on samochody.id_samochodu=dane_wypozyczen.id_samochodu inner join wypozyczenia on wypozyczenia.id_wypozyczenia=dane_wypozyczen.id_wypozyczenia
order by dane_wypozyczen.id_wypozyczenia
3. Wyświetl model i markę samochodu datę wypożyczenia, jak również imię i nazwisko klienta, który dany samochód wypożyczył.
SELECT
dane_wypozyczen.id_wypozyczenia,
samochody.marka,
samochody.model,
wypozyczenia.data_wyp,
klienci.imie_klienta,
klienci.nazwisko_klienta
FROM dane_wypozyczen
INNER JOIN samochody ON samochody.id_samochodu=dane_wypozyczen.id_samochodu
INNER JOIN wypozyczenia ON wypozyczenia.id_wypozyczenia=dane_wypozyczen.id_wypozyczenia
INNER JOIN klienci ON klienci.id_klienta=wypozyczenia.id_klienta
ORDER BY dane_wypozyczen.id_wypozyczenia;
4. Wyświetl model i markę samochodu datę wypożyczenia, jak również imię i nazwisko klienta, który dany samochód wypożyczył ponadto wypisz imię i nazwisko pracownika, który obsługiwal dane wypożyczenie.
SELECT
dane_wypozyczen.id_wypozyczenia,
samochody.marka,
samochody.model,
wypozyczenia.data_wyp,
klienci.imie_klienta,
klienci.nazwisko_klienta,
pracownicy.imie_pracownika,
pracownicy.nazwisko_pracownika
FROM dane_wypozyczen
INNER JOIN samochody ON samochody.id_samochodu=dane_wypozyczen.id_samochodu
INNER JOIN wypozyczenia ON wypozyczenia.id_wypozyczenia=dane_wypozyczen.id_wypozyczenia
INNER JOIN klienci ON klienci.id_klienta=wypozyczenia.id_klienta
INNER JOIN pracownicy ON pracownicy.id_pracownika=wypozyczenia.id_pracownika
ORDER BY dane_wypozyczen.id_wypozyczenia;
5. Wyświetl markę i model samochodu z datą jego wypożyczenia
SELECT
wypozyczenia.data_wyp,
samochody.marka,
samochody.model
FROM wypozyczenia
INNER JOIN dane_wypozyczen ON wypozyczenia.id_wypozyczenia=dane_wypozyczen.id_wypozyczenia INNER JOIN samochody ON samochody.id_samochodu-dane_wypozyczen.id_samochodu
ORDER BY wypozyczenia.data_wyp
6.
SELECT
d.id_wypozyczenia,
s.marka,
s.model
FROM dane_wypozyczen d
INNER JOIN samochody s ON s.id_samochodu = d.id_samochodu
ORDER BY d.id_wypozyczenia;
LEFT/RIGHT JOIN - złączenie zewnętrzne, wyświetla rekordy zgodne z warunkiem złączenia oraz wszystkie rekordy pochodzące z tablicy, której nazwa znajduje się po lewej/prawej stronie klauzuli FROM
7. Wyświetl ID wypożyczenia i nazwisko pracownika, który je obsługiwał. Nazwiska pracowników, którzy nie obsługiwali żadnego wypożyczenia również należy wypisać.
SELECT
pracownicy.nazwisko_pracownika,
wypozyczenia.id_wypozyczenia
FROM pracownicy
LEFT JOIN wypozyczenia ON pracownicy.id_pracownika=wypozyczenia.id_wypozyczenia;
8.Wyswietl nazwiska pracowników, którzy nie obsługiwali zadnego wypożyczenia
SELECT
pracownicy.nazwisko_pracownika
FROM pracownicy
LEFT JOIN wypozyczenia ON pracownicy.id_pracownika=wypozyczenia.id_pracownika
WHERE wypozyczenia.id_wypozyczenia IS null
ORDER BY `wypozyczenia`.`id_wypozyczenia` ASC;
9. Nazwisko pracownika i id wypożyczenia. W przypadku kiedy do id nie mamy przypisanego pracownika należy również wyswietlic takie rekordy
pracownicy.nazwisko_pracownika,
wypozyczenia.id_wypozyczenia
FROM pracownicy
RIGHT JOIN wypozyczenia ON pracownicy.id_pracownika=wypozyczenia.id_pracownika;
10.Wyswietl nazwiska i imiona klientów, którzy nie wypożyczyli zadnego auta
select klienci.imie_klienta, klienci.nazwisko_klienta from klienci left join wypozyczenia on klienci.id_klienta=wypozyczenia.id_klienta where wypozyczenia.id_klienta is null