1.Wyświetl imiona i nazwiska klientów bez nadmiarowych spacji
SELECT
replace(klienci.imie_klienta,' ', '') 'imie',
trim(klienci.nazwisko_klienta) 'nazwisko'
FROM klienci;
Usuwanie spacji w łańcuchu
trim(tabela.kolumna) 'alias'
Usuwa skrajne spacje po lewej i prawej stronie łańcucha
ltrim(tabela.kolumna) 'alias'
Usuwa spacje po lewej stronie łańcucha
rtrim(tabela.kolumna) 'alias'
Usuwa spacje po prawej stronie łańcucha
replace(tabela.kolumna, 'znak', 'nowy_znak') 'alias'
Zamienia znaki, w tym usuwa spacje znajdujące się w środku łańcucha
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,' ', '') 'imie',
trim(klienci.nazwisko_klienta) 'nazwisko',
klienci.miasto_klienta
FROM klienci
ORDER BY char_length(miasto_klienta) DESC;
3. Zaktualizuj rekordy w bazie klienci pozbywając się nadmiarowych spacji w kolumnach imię i nazwisko
UPDATE `klienci` SET imie_klienta=replace(imie_klienta,' ', ''), nazwisko_klienta=trim(nazwisko_klienta)
4. Wyświetl nazwy domen w jakich klienci mają adresy email.
SELECT DISTINCT substring(klienci.email_klienta,instr(klienci.email_klienta,'@')+1) 'domena' FROM klienci;
5. Wyświetl adresy email klienta zamieniając domenę z wp.pl na wp.eu
SELECT
klienci.email_klienta 'obecny mail',
replace(klienci.email_klienta,'wp.pl', 'wp.eu') 'zmieniony mail'
FROM klienci WHERE klienci.email_klienta LIKE '%wp%'
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;