1. Wyświetl imiona i nazwiska klientów bez nadmiarowych spacji
SELECT
replace(klienci.imie_klienta, ' ', '') "imię",
trim(klienci.nazwisko_klienta) 'nazwisko'
FROM klienci
trim(tabela.kolumna) 'alias' - usuwa spacje po lewej i prawiej stronie łańcucha
ltrim(tabela.kolumna) 'alias' - usuwa spacje po lewej stronie lancucha
rtrim(tabela.kolumna) 'alias' - usuwa spacje po prawej stronie lancucha
replace(tabela_kolumna, 'znak', 'nowy znak') 'alias' - zamienia znaki w tym usuwa spacje znajdujące się w srodku lancucha
2. Wyświetl imiona i nazwiska klientów, bez nadmiarowych spacji, oraz miasta z jakich pochodzą. Wyniki posortuj malejąco według liczby znaków w kolumnie miasto
SELECT
replace(klienci.imie_klienta, ' ','') 'imię',
trim(klienci.nazwisko_klienta) 'nazwisko' ,
klienci.miasto_klienta 'miasto'
FROM klienci
ORDER BY char_length(klienci.miasto_klienta) DESC;
3. Zaktualizuj rekordy w tabeli klienci pozbywając się nadmiarowych spacji w kolumnach imię i nazwisko
UPDATE klienci SET klienci.imie_klienta = replace(klienci.imie_klienta,' ',''),
klienci.nazwisko_klienta = trim(klienci.nazwisko_klienta)
left(tabela.kolumna,ilosc_znakow_) 'alias' - wyświetla tylko określoną ilość znakow łańcucha, licząc od lewej strony
right(tabela.kolumna,ilosc_znakow_) 'alias' - wyświetla tylko określoną ilość znakow łańcucha, licząc od prawej strony
substring(
tabela.kolumna,
numer/pozycja startowa,
liczba znaków do wyświetlenia
)
4. Wyświetl nazwy domen w jakich klienci mają adresy e-mail
SELECT DISTINCT
substring(klienci.email_klienta,instr(klienci.email_klienta, '@') +1) 'domena'
FROM klienci;
DISTINCT - usuwa duplikaty
5. Wyświetl adresy email klienta zamieniając domenę z wp.pl na wp.eu
SELECT
klienci.email_klienta AS 'Aktualny email',
replace(klienci.email_klienta, 'wp.pl', 'wp.eu') AS 'Zmieniony email'
FROM klienci
WHERE klienci.email_klienta LIKE "%wp.pl%";
6. Wyświetl w jednej kolumnie imiona i nazwiska klientów z dołączoną formą grzecznościową.
SELECT
concat(
IF(klienci.plec="M", 'Pan ', 'Pani '),
klienci.imie_klienta,
' ',
klienci.nazwisko_klienta) 'klienci'
FROM klienci
ORDER BY klienci
7. Wyświetl następujące zestawienie
- w jednej kolumnie markę i model auta pisaną dużymi literami, jeśli marka lub model składają się z 3 liter lub mniej wyświetlić dużymi literami.
- w drugiej kolumnie ilość wypożyczeń auta w zależności od liczebnika, ma się wyświetlać napis raz lub razy
SELECT
CONCAT(
IF(
CHAR_LENGTH(samochody.marka) <= 3,
UCASE(samochody.marka),
CONCAT(
UCASE(LEFT(samochody.marka, 1)),
SUBSTRING(samochody.marka, 2)
)
),
' ',
UCASE(LEFT(samochody.model, 1)),
SUBSTRING(samochody.model, 2),
' Auto: '
) AS Auto,
CONCAT(
COUNT(dane_wypozyczen.id_samochodu),
' ',
CASE
WHEN COUNT(dane_wypozyczen.id_samochodu) = 1 THEN 'raz'
ELSE 'razy'
END
) AS 'Ilość wypożyczeń'
FROM
samochody
LEFT JOIN
dane_wypozyczen ON samochody.id_samochodu = dane_wypozyczen.id_samochodu
GROUP BY
dane_wypozyczen.id_samochodu
ORDER BY
COUNT(dane_wypozyczen.id_samochodu) DESC;