Składnia SQL na maturze z informatyki - odpowiedź Centralnej Komisji Egzaminacyjnej (Access vs MySQL)

Opublikowano

Rozwiązujesz zadanie z baz danych. Wiesz, jakie tabele trzeba połączyć, które kolumny wyświetlić i jakie warunki zastosować. Zapisujesz zapytanie, a potem porównujesz je z przykładowym rozwiązaniem. W Twoim kodzie jest LIKE "*abc*", a w kluczu LIKE '%abc%'.

Czy to błąd? Czy na maturze trzeba używać składni Microsoft Access, czy może MySQL? I co w sytuacji, gdy SQL-a uczysz się w innym narzędziu?

Z takim pytaniem zwróciliśmy się do Centralnej Komisji Egzaminacyjnej. Z otrzymanej odpowiedzi wynika, że na maturze nie obowiązuje jeden narzucony dialekt SQL. Oceniana jest poprawność zapytania w danym dialekcie, z uwzględnieniem środowisk dopuszczonych do egzaminu.

Przyjrzyjmy się, co to oznacza w praktyce.

Zadanie 8.5 z matury 2026: trzeba napisać zapytanie SQL

Dobrym przykładem jest zadanie 8.5 z majowej matury z informatyki 2026 r. (formuła 2023). Był to ostatni podpunkt zadania „Sieć sklepów”. Do opisanej w poprzednich podpunktach bazy dodano tabele Produkty i Kategorie, a zdający miał zapisać zapytanie SQL wyszukujące zakupione produkty spełniające określone warunki.

Zadanie 8.5, matura z informatyki, maj 2026, Formuła 2023. Źródło: arkusz Centralnej Komisji Egzaminacyjnej.
Zadanie 8.5, matura z informatyki, maj 2026, Formuła 2023. Źródło: arkusz Centralnej Komisji Egzaminacyjnej.

Polecenie wymagało zapytania zwracającego identyfikatory i nazwy zakupionych produktów z kategorii „spożywcze”, zawierających w opisie fragment „do ekspresu kolbowego”. Odpowiedzią miał być kod SQL zapisany w arkuszu, a nie tylko lista produktów uzyskana po wykonaniu kwerendy.

To ważne również dla osób, które pozostałe podpunkty rozwiązują w graficznym projektancie kwerend Accessa. Umiejętność ustawienia odpowiednich pól i kryteriów w programie nie zastępuje znajomości składni, gdy polecenie wymaga samodzielnego zapisania zapytania.

Cały kontekst tego zadania znajdziesz w naszej analizie matury z informatyki 2026.

Najpierw narzędzie: z jakich programów można korzystać?

Wybór programu do pracy na komputerze nie jest dowolny. Listę określa osobny, coroczny komunikat dyrektora Centralnej Komisji Egzaminacyjnej w sprawie systemów operacyjnych, programów użytkowych i języków programowania. Nie należy utożsamiać go z ogólnym informatorem o egzaminie.

Z perspektywy baz danych komunikat na maturę 2027 uwzględnia następujące narzędzia:

NarzędzieW ramach jakiego oprogramowania występuje?System
Microsoft AccessMicrosoft Office 2007 lub nowszyWindows
MySQL (MariaDB), z narzędziem phpMyAdminPakiet XAMPP, wskazany obok pakietów biurowychWindows i Linux
BaseLibreOffice 7.0 lub nowszy albo OpenOffice/Apache OpenOffice 4.1 lub nowszyWindows i Linux

To zestawienie narzędzi bazodanowych, a nie lista niezależnych konfiguracji stanowiska. Pełne zestawy opisuje Komunikat dyrektora Centralnej Komisji Egzaminacyjnej w sprawie systemów operacyjnych, programów użytkowych i języków programowania (matura 2027). Wybierasz oprogramowanie dopuszczone do egzaminu i dostępne w Twojej szkole. OpenOffice pozostaje na liście na rok 2027, ale od 2028 roku nie będzie można go wybrać.

Skąd biorą się różnice między składnią Accessa i MySQL?

SQL jest językiem standaryzowanym. Oznaczenia takie jak SQL-92 czy SQL:2016 odnoszą się do kolejnych wersji standardu, a nie do osobnych produktów bazodanowych. Jednocześnie poszczególne systemy implementują SQL z własnymi rozszerzeniami i różnicami. Stąd mówimy o dialektach SQL, na przykład składni stosowanej przez Microsoft Access lub MySQL.

Wiele podstawowych konstrukcji jest podobnych, ale nie oznacza to, że każde zapytanie można bez zmian przenieść między programami. Różnice dotyczą między innymi wyszukiwania fragmentów tekstu i ograniczania liczby zwracanych rekordów.

Wyszukiwanie fragmentu tekstu: * czy %?

Wróćmy do frazy z zadania 8.5. Fragment warunku wyszukującego ją w opisie produktu można zapisać w Accessie, przy typowych ustawieniach bazy korzystającej z symboli ANSI-89, następująco:

Gwiazdka oznacza tutaj dowolny ciąg znaków, również pusty. Umieszczenie jej przed frazą i po niej pozwala znaleźć opis, w którym szukany tekst znajduje się w dowolnym miejscu.

W MySQL analogiczny warunek ma postać:

Znak % pełni tutaj taką samą funkcję.

Oba zapisy mogą być poprawne - każdy w odpowiednim dialekcie i ustawieniach. Sam fakt, że w przykładowym rozwiązaniu pojawia się %, nie oznacza więc, że użycie * w składni Accessa jest błędem.

Trzeba jednak uważać na dwa szczegóły. Po pierwsze, samo LIKE "abc" bez symboli wieloznacznych nie oznacza wyszukiwania dowolnego tekstu zawierającego abc. Po drugie, Access obsługuje również tryb ANSI-92, w którym stosuje się %. Dlatego dokładniejsze jest stwierdzenie „w typowym trybie ANSI-89 Accessa używamy *” niż „Access zawsze używa gwiazdki”.

Ograniczenie liczby wyników: TOP czy LIMIT?

Rozważmy inny, prosty przykład: chcemy wyświetlić maksymalnie pięć produktów o najmniejszych identyfikatorach. Zakładamy, że IdProduktu jest unikatowy.

W Microsoft Access zapytanie może wyglądać tak:

W MySQL:

W pierwszym wariancie korzystamy z TOP 5 umieszczonego po SELECT. W drugim klauzula LIMIT 5 znajduje się na końcu zapytania. Przy podanym założeniu oba zapisy realizują ten sam cel, ale ich składnia jest różna.

To właśnie takie różnice rodzą pytanie: czy egzaminator oczekuje jednego konkretnego zapisu, czy powinien uwzględnić dialekt użyty przez zdającego?

Zapytaliśmy Centralną Komisję Egzaminacyjną o dopuszczalną składnię SQL

28 maja 2025 roku wysłaliśmy do Centralnej Komisji Egzaminacyjnej zapytanie dotyczące tych rozbieżności. Chcieliśmy ustalić, czy na maturze obowiązuje składnia konkretnego systemu bazodanowego, czy też zapytania mogą być zapisywane w różnych dialektach.

Sedno naszego pytania brzmiało:

Czy zdający mogą stosować dowolny dialekt SQL, pod warunkiem poprawności logicznej zapytania, czy też wymagane jest użycie konkretnej składni?

W odpowiedzi Centralna Komisja Egzaminacyjna wyjaśniła:

W rozwiązaniach zadań maturalnych nie obowiązuje konkretna składnia SQL - jest ona zależna od narzędzi używanych przez zdającego i nie jest narzucona. Należy tu się kierować listą dopuszczonych środowisk w komunikacie o egzaminie z informatyki.

[...]

sprawdzana będzie poprawność zapytania dla danego dialektu.

Źródło: fragment odpowiedzi mailowej Centralnej Komisji Egzaminacyjnej na nasze zapytanie z 28 maja 2025 roku.

W dalszej części odpowiedzi Centralna Komisja Egzaminacyjna wskazała wprost Microsoft Access oraz MySQL (MariaDB) z pakietu XAMPP, odwołując się do listy środowisk na maturę 2025. Potwierdziła, że dopuszczalna jest składnia właściwa dla obu tych rozwiązań.

Z tej odpowiedzi wynika najważniejsza zasada: zapytanie nie musi wyglądać identycznie jak przykład w kluczu. Musi być poprawne w danym dialekcie i odpowiadać na polecenie.

Odpowiedź dotyczyła środowisk dopuszczonych w 2025 roku. Nie należy traktować przytoczonej listy jako niezmiennej na wszystkie kolejne lata - dlatego aktualne narzędzia sprawdzamy w komunikacie dla swojego rocznika.

Czy to oznacza, że można użyć dowolnego dialektu SQL?

Nie należy wyciągać aż tak szerokiego wniosku. W odpowiedzi Centralnej Komisji Egzaminacyjnej przyzwolenie na różną składnię jest powiązane z narzędziami dopuszczonymi do egzaminu. Komisja nie napisała, że każda konstrukcja z dowolnego systemu bazodanowego będzie automatycznie akceptowana.

W szczególności Microsoft Access i Microsoft SQL Server to nie ten sam system. SQL Server korzysta z Transact-SQL, czyli T-SQL. Dopuszczenie Accessa nie jest więc równoznaczne z dopuszczeniem wszystkich konstrukcji charakterystycznych dla SQL Servera.

Microsoft SQL Server, PostgreSQL i Oracle Database nie są wymienione jako odrębne środowiska bazodanowe w przywołanym komunikacie Centralnej Komisji Egzaminacyjnej na rok 2027.

Nie oznacza to jednak, że zapytanie poznane podczas nauki w innym systemie musi być niepoprawne. Wiele konstrukcji jest wspólnych. Istotne jest nie to, na jakiej stronie lub w jakim programie nauczyłeś się danego zapisu, ale czy użyte zapytanie jest poprawne również w dialekcie właściwym dla dopuszczonego środowiska.

Praktyczny wniosek z odpowiedzi Centralnej Komisji Egzaminacyjnej jest następujący: wybierz konkretny wariant SQL i używaj go konsekwentnie. Nie traktuj różnic między dialektami jako przyzwolenia na mieszanie konstrukcji, które razem nie tworzą poprawnego zapytania.

Inne zapytanie niż w kluczu nie musi oznaczać błędu

Znaczenie tego rozróżnienia widzieliśmy również przy analizie prac maturalnych. Po maturze 2026 pomogliśmy uczniowi w odwołaniu dotyczącym właśnie zadania 8.5. Jego zapytanie różniło się od przykładu z klucza, między innymi zastosowaniem DISTINCT i sposobem zapisania złączeń. Po odwołaniu przyznano mu brakujące 2 punkty.

Opisaliśmy tę historię w artykule Odwołanie od wyniku matury z informatyki - jak odzyskaliśmy 2 punkty z SQL-a.

Nie był to przypadek ogólnego zatwierdzenia nowego dialektu SQL, lecz oceny konkretnego rozwiązania. Pokazuje jednak, dlaczego trzeba analizować znaczenie zapytania, a nie wyłącznie porównywać jego wygląd z przykładem.

W zasadach oceniania zadania 8.5 z 2026 roku punktowano wybór pól i połączenie tabel oraz warunki wyszukiwania. Poprawne rozwiązanie musi spełniać wymagania zadania; nie musi być dosłownym przepisaniem przykładowego kodu.

Jakiego SQL-a uczyć się do matury?

Z odpowiedzi Centralnej Komisji Egzaminacyjnej nie wynika konieczność opanowania wszystkich dialektów. Znacznie rozsądniej przygotować się w jednym dopuszczonym środowisku i dobrze poznać jego składnię, niż zapamiętywać fragmenty zapytań z różnych systemów bez sprawdzania, czy do siebie pasują.

Jeżeli pracujesz w Accessie, ćwicz również czytanie i samodzielne pisanie zapytań SQL, nie tylko ich tworzenie w widoku projektu. Jeżeli korzystasz z MySQL lub MariaDB, sprawdzaj przykłady w tym właśnie środowisku. Porównując rozwiązania, zwracaj uwagę zarówno na składnię, jak i na znaczenie poszczególnych warunków.

Najważniejszy wniosek z odpowiedzi Centralnej Komisji Egzaminacyjnej: na maturze nie ma jednego obowiązkowego zapisu SQL właściwego wyłącznie dla Accessa albo wyłącznie dla MySQL. Jest natomiast wymaganie poprawności zapytania w użytym dialekcie, zgodności z poleceniem i uwzględnienia dopuszczonych środowisk.

Częste pytania o składnię SQL na maturze z informatyki

Nie ma jednej narzuconej składni SQL. Centralna Komisja Egzaminacyjna w odpowiedzi na nasze zapytanie z 28 maja 2025 roku napisała, że w rozwiązaniach zadań maturalnych nie obowiązuje konkretna składnia SQL - jest ona zależna od narzędzi używanych przez zdającego i nie jest narzucona. Sprawdzana będzie poprawność zapytania dla danego dialektu. Trzeba kierować się listą dopuszczonych środowisk w komunikacie o egzaminie z informatyki.

Nie. Wybierz jedno dopuszczone środowisko z komunikatu na swój rok i trzymaj się jego składni. Nie ma obowiązku opanowania wszystkich dialektów.

Nie. To zwykle dokładne dopasowanie, nie wyszukiwanie fragmentu. Żeby znaleźć tekst w dowolnym miejscu, w typowym Accessie dajesz gwiazdki, w MySQL - znaki %.

Nie. Przyzwolenie na różną składnię jest powiązane z narzędziami dopuszczonymi do egzaminu. Microsoft Access i Microsoft SQL Server to nie ten sam system - dopuszczenie Accessa nie oznacza akceptacji konstrukcji T-SQL. Microsoft SQL Server, PostgreSQL i Oracle Database nie są wymienione jako odrębne środowiska bazodanowe w komunikacie Centralnej Komisji Egzaminacyjnej na rok 2027. Wybierz konkretny wariant SQL i używaj go konsekwentnie, bez mieszania konstrukcji.

Zasada - brak jednego narzuconego dialektu - tak. Lista programów nie: narzędzia sprawdzasz w komunikacie na swój rok, na przykład w komunikacie Centralnej Komisji Egzaminacyjnej na maturę 2027.

© 2026 Software Bay. Design with ♥