Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych

Zdefiniowano bazę danych z tabelą sklepy o polach: nazwa, ulica, miasto, branza. Aby wyszukać wszystkie nazwy sklepów spożywczych zlokalizowanych wyłącznie we Wrocławiu, należy posłużyć się kwerendą:

A.
SELECT nazwa FROM sklepy WHERE branza='spożywczy' AND miasto='Wrocław';
Dobrze. AND wymaga spełnienia obu warunków: branży spożywczej i miasta Wrocław.
B.
SELECT nazwa FROM sklepy WHERE branza='spożywczy' OR miasto='Wrocław';
Źle. OR zwróci też sklepy spożywcze spoza Wrocławia i wrocławskie sklepy innych branż.
C.
SELECT sklepy FROM branza='spożywczy' WHERE miasto = 'Wrocław';
Źle. Po FROM musi stać nazwa tabeli, a nie warunek, a sklepy to tabela, nie kolumna.
D.
SELECT sklepy FROM nazwa WHERE branza='spożywczy' BETWEEN miasto='Wrocław';
Źle. Tabela i kolumna są zamienione, a BETWEEN opisuje zakres wartości, nie łączy warunków.

Pytanie z egzaminu CKE, styczeń 2016 (arkusz E.14-X-16.01).

Kwerenda ma pobrać kolumnę nazwa z tabeli sklepy, a wiersze muszą spełniać dwa warunki jednocześnie: branża spożywcza i miasto Wrocław. Łączy je operator AND, który przepuszcza tylko wiersze prawdziwe dla obu warunków. Kolejność klauzul jest stała: po SELECT kolumny, po FROM tabela, po WHERE warunki. Napisy w warunkach ujmuje się w apostrofy, np. 'Wrocław'. Ten sam schemat pasuje do każdego wyszukiwania z kilkoma kryteriami - przy trzech warunkach dopisuje się kolejne AND. Do zapamiętania: AND zawęża wynik, OR go poszerza. Warunki można też grupować nawiasami, gdy łączy się AND z OR w jednej kwerendzie.

Częsty błąd to zamiana AND na OR. Kwerenda z OR zwróci sklepy spożywcze z całej Polski oraz wszystkie sklepy z Wrocławia, także odzieżowe, bo wystarczy jej spełnienie jednego warunku. Dwie pozostałe kwerendy nie wykonają się wcale. W jednej po FROM stoi warunek branza='spożywczy' zamiast nazwy tabeli, a w SELECT podano nazwę tabeli zamiast kolumny. W drugiej role są odwrócone - sklepy jako kolumna, nazwa jako tabela - a BETWEEN służy do zakresu wartości w zapisie BETWEEN 10 AND 20, nie do łączenia warunków. Poprawna kwerenda pobiera nazwa z sklepy i łączy oba kryteria operatorem AND. Przy pisaniu takich kwerend dobrze najpierw nazwać kolumny i tabelę, a dopiero potem dopisać warunki w klauzuli WHERE. Kwerendę zawsze warto uruchomić w phpMyAdmin i porównać wynik z danymi w tabeli.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.