Zadanie 70: Funkcje Arytmetyczne i Matematyczne
MySQL
Priorytet: Normalny
Szkic
Zadanie 70: Funkcje Arytmetyczne i Matematyczne w MySQL
Wstęp
MySQL oferuje bogaty zestaw operatorów i funkcji matematycznych, które pozwalają na wykonywanie obliczeń bezpośrednio w zapytaniach SQL. Jest to bardzo przydatne do generowania raportów, wyliczania cen, czy analizy danych liczbowych.
Podstawowe Operatory
+(Dodawanie)-(Odejmowanie)*(Mnożenie)/(Dzielenie)%lubMOD(Reszta z dzielenia - Modulo)
Przydatne Funkcje
ROUND(liczba, miejsca_po_przecinku)- ZaokrąglanieCEIL(liczba)- Zaokrąglanie w górę (sufit)FLOOR(liczba)- Zaokrąglanie w dół (podłoga)ABS(liczba)- Wartość bezwzględnaPOW(liczba, potęga)- PotęgowanieSQRT(liczba)- Pierwiastek kwadratowy
Część 1: Przygotowanie Bazy (DDL + DML)
Utwórz bazę Sklep i tabelę Produkty.
CREATE DATABASE Sklep;
USE Sklep;
CREATE TABLE Produkty (
id INT AUTO_INCREMENT PRIMARY KEY,
nazwa VARCHAR(100),
cena_netto DECIMAL(10, 2), -- Cena bez podatku
stawka_vat DECIMAL(4, 2), -- np. 0.23 dla 23%
ilosc_magazyn INT,
waga_kg DECIMAL(6, 3)
);
-- Wstawianie danych przykładowych
INSERT INTO Produkty (nazwa, cena_netto, stawka_vat, ilosc_magazyn, waga_kg) VALUES
('Laptop Gamingowy', 4500.00, 0.23, 10, 2.500),
('Myszka Bezprzewodowa', 49.99, 0.23, 150, 0.120),
('Klawiatura Mechaniczna', 250.50, 0.23, 45, 0.950),
('Dysk SSD 1TB', 399.00, 0.23, 30, 0.050),
('Monitor 27"', 1200.00, 0.23, 15, 5.200),
('Oprogramowanie Edukacyjne', 99.00, 0.08, 100, 0.000), -- VAT 8%
('Usługa Instalacji', 150.00, 0.23, 999, 0.000);
Część 2: Przykłady
Przykład A: Obliczanie Ceny Brutto
Cena brutto to cena netto + (cena netto * VAT). Możemy to uprościć do: cena_netto * (1 + stawka_vat).
SELECT nazwa, cena_netto,
cena_netto * (1 + stawka_vat) AS cena_brutto
FROM Produkty;
Przykład B: Zaokrąglanie Wyników
Często wyniki obliczeń mają zbyt wiele miejsc po przecinku. Użyjmy ROUND.
SELECT nazwa,
ROUND(cena_netto * (1 + stawka_vat), 2) AS cena_brutto_ladna
FROM Produkty;
Przykład C: Modulo (Parzystość ID)
Sprawdźmy, które produkty mają parzyste ID.
SELECT * FROM Produkty WHERE id % 2 = 0;
Część 3: Zadania do wykonania
Wykonaj poniższe zapytania SELECT.
- Cena Brutto: Wyświetl nazwę produktu oraz obliczoną cenę brutto (nazwij kolumnę
Brutto). - Wartość Magazynu: Oblicz całkowitą wartość netto towaru w magazynie dla każdego produktu (cena netto * ilość). Nazwij kolumnę
WartoscNetto. - Promocja -20%: Oblicz cenę netto po obniżce o 20% dla wszystkich produktów.
- Ciężar Całkowity: Oblicz, ile ważą wszystkie sztuki danego produktu w magazynie (waga * ilość).
- Dziwne Ceny (CEIL): Sklep postanowił zaokrąglać ceny netto W GÓRĘ do pełnych złotówek. Wyświetl nazwę i nową cenę używając
CEIL. - Dziwne Ceny (FLOOR): A teraz w dół do pełnych złotówek używając
FLOOR. - Pierwiastek z Ceny: Z czystej ciekawości matematycznej, wyświetl pierwiastek kwadratowy z ceny netto każdego produktu (
SQRT). - Potęgowanie: Wyświetl cenę netto podniesioną do kwadratu (
POW). - Co 3 produkt: Wybierz produkty, których
idjest podzielne przez 3 (użyj modulo%). - Prognoza Zysku: Załóżmy, że marża sklepu to 15% ceny netto. Oblicz przewidywany zysk ze sprzedaży WSZYSTKICH sztuk danego produktu, zaokrąglając wynik do 2 miejsc po przecinku.
Commit
git add .
git commit -m "MySQL Zadanie 70: Funkcje Arytmetyczne"