Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 2

CREATE DATABASE Baza;

CREATE TABLE Klienci (


ID INT AUTO_INCREMENT PRIMARY KEY,
Imie VARCHAR(50),
Nazwisko VARCHAR(50),
DataUrodzenia DATE,
Miasto VARCHAR(50),
Saldo DECIMAL(10,2)
);

CREATE TABLE Zamowienia (


ID INT AUTO_INCREMENT PRIMARY KEY,
IDKlienta INT,
Produkt VARCHAR(100),
Cena DECIMAL(10,2),
DataZamowienia DATE
);

- Utworzenie potrzebnych do zadania tabel.

INSERT INTO Klienci (Imie, Nazwisko, DataUrodzenia, Miasto, Saldo)


VALUES ('Jan', 'Kowalski', '1990-05-15', 'Warszawa', 1000.00),
('Anna', 'Nowak', '1985-10-20', 'Kraków', 1500.00),
('Piotr', 'Nowakowski', '1978-03-08', 'Gdańsk', 2000.00);

INSERT INTO Zamowienia (IDKlienta, Produkt, Cena, DataZamowienia)


VALUES (1, 'Laptop', 2500.00, '2024-03-20'),
(2, 'Smartphone', 1500.00, '2024-03-21'),
(3, 'Tablet', 1200.00, '2024-03-22');

- Dodanie wartości do tabel

Funkcje tekstowe:

SELECT UPPER(Imie) AS ImieUpper FROM Klienci; - Konwertuje tekst na wielkie liter

SELECT LOWER(Nazwisko) AS NazwiskoLower FROM Klienci; - Konwertuje tekst na małe


litery

SELECT Imie, LENGTH(Imie) AS dlugoscImienia FROM Klienci; - Zwraca długość tekstu

SELECT CONCAT(Imie, ' ', Nazwisko) AS PelneImie FROM Klienci; - Łączy dwa lub
więcej ciągów tekstowych

SELECT Imie, SUBSTRING(Imie, 1, 3) AS TrzyPierwszeLitery FROM Klienci; - Zwraca


podciąg tekstu

Funkcje matematyczne:

SELECT Cena, ROUND(Cena, 2) AS CenaZaokraglona FROM Zamowienia; - Zaokrągla liczbę


do określonej liczby miejsc po przecinku

SELECT Saldo, ABS(Saldo) AS SaldoBezwzgledne FROM Klienci; - Zwraca wartość


bezwzględną liczby

SELECT Cena, POWER(Cena, 2) AS CenaDoKwadratu FROM Zamowienia; - Podnosi liczbę do


potęgi

SELECT Saldo, SQRT(Saldo) AS PierwiastekSalda FROM Klienci; - Zwraca pierwiastek


kwadratowy liczby

SELECT RAND() AS LosowaLiczba; - Zwraca losową liczbę zmiennoprzecinkową pomiędzy 0


a 1

Funkcje agregujące:

SELECT COUNT(*) AS LiczbaKlientow FROM Klienci; - Zlicza liczbę wierszy

SELECT SUM(Cena) AS SumaZamowien FROM Zamowienia; - Oblicza sumę wartości

SELECT AVG(Saldo) AS SrednieSaldo FROM Klienci; - Oblicza średnią wartość

SELECT MIN(Saldo) AS MinimalneSaldo FROM Klienci; - Zwraca najmniejszą


wartość

SELECT MAX(Saldo) AS MaksymalneSaldo FROM Klienci; - Zwraca największą wartość

Funkcje daty i czasu:

SELECT CURDATE() AS AktualnaData; - Zwraca aktualną datę

SELECT DATE_FORMAT(DataUrodzenia, '%d-%m-%Y') AS DataUrodzeniaFormatowana -


Formatuje datę według określonego formatu

SELECT DATEDIFF(CURDATE(), DataUrodzenia) AS Wiek FROM Klienci; - Oblicza różnicę


pomiędzy dwiema datami

SELECT DATE_ADD(DataZamowienia, INTERVAL 7 DAY) AS DataDostawy FROM Zamowienia; -


Dodaje określoną liczbę dni do daty

SELECT DATE_SUB(DataZamowienia, INTERVAL 3 MONTH) AS DataPomniejszona FROM


Zamowienia; - Odejmuje określoną liczbę dni od daty

GROUP BY i HAVING:

SELECT Miasto, COUNT(*) AS LiczbaKlientow FROM Klienci GROUP BY Miasto HAVING


LiczbaKlientow > 1; - GROUP BY służy do grupowania wyników zapytania według
wartości w kolumnach, zaś HAVING służy do filtrowania wyników grupowania na
podstawie warunków

Funkcje sterowania przepływem:

CASE
WHEN Saldo > 1500 THEN 'Dobry klient'
WHEN Saldo > 1000 THEN 'Średni klient'
ELSE 'Nowy klient'
END AS StatusKlienta

- Funkcje sterowania przepływem, takie jak CASE, pozwalają na wykonanie działań w


zależności od warunków spełnionych w zapytaniu

You might also like