Pola Obliczeniowe w Kwerendach
Wyrażenia, funkcje warunkowe i formatowanie wyników w kwerendzie. Zadanie, w którym trzeba policzyć coś, czego nie ma wprost w tabeli.
Polecenie prosi o wartość, której nie ma w żadnej kolumnie: wartość zamówienia, cenę po rabacie, wiek z daty urodzenia. Wtedy dopisujesz kolumnę liczoną w kwerendzie, często z warunkiem — CASE w SQL albo IIf w Accessie. Punkty przepadają zwykle nie na wzorze, tylko na drobiazgach: alias inny niż narzucony w poleceniu, brak zaokrąglenia kwoty, próba użycia aliasu w WHERE. Tu punkty lecą naprawdę często, więc uczymy czytać polecenie krok po kroku i odhaczać każdy wymóg osobno — łącznie z tym, że jakąś wartość trzeba policzyć samodzielnie, a nie znaleźć gotową.
1. Kiedy potrzebujesz pola obliczeniowego
Treść zadania prosi o wartość, której nie ma w żadnej kolumnie: wartość zamówienia, cenę po rabacie, wiek na podstawie daty urodzenia, marżę procentową. Wtedy tworzysz nową kolumnę wyliczaną w locie, bez zmieniania danych w tabeli.
SELECT nazwa,
cena,
ilosc,
cena * ilosc AS wartosc
FROM zamowienia;Nazwa nadana przez AS bywa wprost narzucona w poleceniu — wtedy musi zgadzać
się co do znaku. To najprostszy punkt do zdobycia i najgłupszy do stracenia.
2. Warunki wewnątrz zapytania
Gdy wynik zależy od warunku — na przykład rabat tylko dla zamówień powyżej progu — użyj konstrukcji warunkowej zamiast liczyć to ręcznie.
SELECT nazwa,
cena,
CASE
WHEN cena > 100 THEN cena * 0.9
ELSE cena
END AS cena_po_rabacie
FROM produkty;W programie Access ten sam efekt osiąga się funkcją IIf(warunek; wartość_gdy_prawda; wartość_gdy_fałsz).
Jeśli arkusz wskazuje konkretne środowisko, użyj składni tego środowiska.
3. Funkcje, które warto mieć pod ręką
ROUND(wyrażenie; 2)— zaokrąglenie do dwóch miejsc, częste przy kwotach.YEAR(data),MONTH(data)— wyciąganie części daty.LEN()lubLENGTH()— długość tekstu.CONCAT()albo operator sklejania — łączenie imienia i nazwiska w jedną kolumnę.
4. Gdzie najczęściej giną punkty
- Pole obliczeniowe w
WHEREpo aliasie. Warunek nie widzi nazwy nadanej przezAS— trzeba powtórzyć całe wyrażenie albo użyćHAVINGprzy grupowaniu. - Dzielenie przez zero, gdy w danych trafi się wartość pusta lub zerowa. Warto zabezpieczyć warunkiem.
- Brak zaokrąglenia tam, gdzie polecenie mówi o kwocie w złotych i groszach.
- Zmiana danych w tabeli zamiast policzenia ich w kwerendzie. Zadanie zwykle wymaga, żeby dane źródłowe pozostały nietknięte.
Plan pracy na 210 minut, kolejność rozwiązywania i format plików wynikowych, na którym najłatwiej stracić punkty.
Korepetycje z informatyki
Zdajesz maturę rozszerzoną z informatyki?
Prowadzimy indywidualne przygotowanie do matury z informatyki — algorytmy, Python i C++, bazy danych i arkusz kalkulacyjny. Zajęcia online, na arkuszach CKE. Zobacz program i cennik.
Zobacz korepetycje z informatykiUczysz się w technikum informatycznym? Prowadzimy też przygotowanie do kwalifikacji INF.02, INF.03 i INF.04. Zobacz egzaminy zawodowe →
Nadal czujesz się niepewnie?
To tylko jeden z pewniaków. Na kursie przechodzimy przez nie wszystkie, krok po kroku, aż poczujesz ten spokój.
Pomóżcie mi zdać maturę!