KWALIFIKACJA INF3 - STYCZEŃ 2015

PYTANIE NR 17.
Operator arytmetyczny modulo w języku SQL to
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
W wielu systemach baz danych operator modulo jest zapisywany jako % i oznacza resztę z dzielenia w wyrażeniach arytmetycznych (np. 10 % 3 = 1). Pozostałe symbole dotyczą innych działań: || to łączenie, & bywa bitowe, a / to dzielenie.

Pełne wyjaśnienie:

Operator arytmetyczny modulo zwraca resztę z dzielenia i w wielu popularnych systemach SQL jest zapisywany symbolem %. Stosuje się go w notacji infiksowej, czyli między argumentami: a % b. Przykład: 10 % 3 daje 1, bo 10 podzielone przez 3 to 3 i reszta 1.

Warto rozróżnić operator od funkcji. Operator % jest elementem składni wyrażenia (tak jak * czy /), natomiast w części systemów spotyka się też funkcję MOD(a,b), która wymaga zapisu funkcyjnego z nawiasami i przecinkiem. Obie formy mogą istnieć równolegle w zależności od bazy, dlatego w testach trzeba czytać uważnie, czy pytanie dotyczy operatora czy funkcji.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • || jest typowym operatorem łączenia (konkatenacji) wartości tekstowych w wielu dialektach SQL, a nie operatorem arytmetycznym.
  • & jest kojarzony z operacjami bitowymi (AND bitowy) w niektórych środowiskach, więc nie opisuje reszty z dzielenia.
  • / oznacza zwykłe dzielenie, które zwraca iloraz, a nie resztę.

Częsty błąd polega na myleniu symbolu % z jego innym znaczeniem w wyrażeniach LIKE, gdzie % jest wildcardem (dopasowanie dowolnego ciągu znaków). To jednak inny mechanizm i inny kontekst składniowy niż arytmetyka. W zadaniach egzaminacyjnych warto zapamiętać, że w arytmetyce SQL: % = reszta z dzielenia, a priorytet tego operatora jest na poziomie mnożenia i dzielenia, więc przy złożonych wyrażeniach pomocne są nawiasy.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Operator modulo zwraca resztę z dzielenia dwóch liczb. W wielu systemach baz danych zapisuje się go jako %, np. 10 % 3 daje 1. Jest przydatny m.in. do sprawdzania podzielności i parzystości w warunkach WHERE.
Zapis 10 % 3 oznacza "reszta z dzielenia 10 przez 3". Wynik to 1, bo 3 mieści się w 10 trzy razy (3×3=9), a pozostaje 1. To typowy przykład użycia operatora modulo w wyrażeniach arytmetycznych.
Symbol % ma różne znaczenia zależnie od kontekstu. W LIKE jest wildcardem (dopasowanie dowolnego ciągu znaków), a w wyrażeniach liczbowych jest operatorem modulo. Egzamin często sprawdza właśnie to rozróżnienie kontekstu.
% jest operatorem i zapisuje się go infiksowo: a % b. MOD() jest funkcją i wymaga nawiasów: MOD(a,b). W praktyce zależy to od dialektu SQL: jedne bazy preferują operator, inne częściej funkcję.
Nie. || najczęściej oznacza konkatenację, czyli łączenie tekstów (np. imienia i nazwiska). Modulo dotyczy arytmetyki i reszty z dzielenia, więc jest realizowane przez % (lub czasem przez funkcję MOD()).
Zwykle nie. & bywa kojarzony z operacjami bitowymi (AND bitowy) w niektórych środowiskach, a nie z resztą z dzielenia. W zadaniach egzaminacyjnych modulo rozpoznasz po znaczeniu "reszta" i typowym zapisie %.
Najczęściej w filtrach, np. do wyboru rekordów podzielnych przez daną liczbę: WHERE id % 10 = 0. Używa się go też do sprawdzenia parzystości (% 2) oraz do logiki cyklicznej, np. przypisywania elementów do grup według reszty.
Typowy błąd to mylenie % z wildcardem w LIKE i uznawanie, że nie jest operatorem arytmetycznym. Drugi błąd to zastępowanie go dzieleniem /, które zwraca iloraz. Częste jest też pomijanie nawiasów w złożonych wyrażeniach.
W wielu implementacjach SQL operator % jest traktowany jak operator arytmetyczny o priorytecie podobnym do * i /. Dlatego w dłuższych wyrażeniach warto używać nawiasów, aby jednoznacznie wskazać kolejność obliczeń.
Jeśli w treści jest mowa o operatorze, zwykle chodzi o symbol używany między wartościami (np. a % b). Gdy pytanie dotyczy funkcji, spodziewaj się zapisu z nawiasami, np. MOD(a,b). To rozróżnienie jest kluczowe w testach.
info

Statystycznie 82% uczniów zna prawidłową odpowiedź. średnio łatwe

Według specjalistów z branży: "W wielu systemach baz danych operator modulo jest zapisywany jako % i oznacza resztę z dzielenia w wyrażeniach arytmetycznych (np. 10 % 3 = 1)."

Źródła:

  • MySQL 8.0 Reference Manual: Expression Syntax / Arithmetic Operators (operator %), https://dev.mysql.com/doc/refman/8.0/en/arithmetic-functions.html (dostęp: 2026-02-28)
  • PostgreSQL Documentation: 9.3. Operators / Arithmetic Operators (operator %), https://www.postgresql.org/docs/current/functions-math.html (dostęp: 2026-02-28)
  • Microsoft Learn: Transact-SQL Operators (Arithmetic operators, %), https://learn.microsoft.com/en-us/sql/t-sql/language-elements/operators-transact-sql (dostęp: 2026-02-28)

Materiały:

  • Dokumentacja operatorów arytmetycznych wybranego DBMS (sekcja o % i MOD())
  • Zadania praktyczne: zapytania z warunkami WHERE wykorzystującymi resztę z dzielenia
  • Notatki o priorytetach operatorów w wyrażeniach (kolejność wykonywania)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego