W zadaniu chodzi o wybranie wyłącznie tych kontrahentów, którzy spełniają dwa kryteria naraz:
- należą do drugiej grupy cenowej (warunek: grupa_cenowa = 2),
- mają obrót większy niż 4000 (warunek: obrot > 4000).
Aby to osiągnąć w SQL stosuje się zapytanie typu SELECT ... FROM ... WHERE ..., gdzie:
- SELECT kontrahent oznacza, że wynikiem ma być lista wartości z kolumny "kontrahent" (projekcja jednej kolumny),
- FROM sprzedaz wskazuje tabelę, z której pobierane są dane,
- WHERE definiuje filtr (selekcję wierszy).
Kluczowa jest logika w WHERE. Sformułowanie "wyłącznie kontrahentów z drugiej grupy cenowej, których obrót jest większy niż 4000" wymaga koniunkcji, czyli użycia operatora AND. Dzięki temu do wyniku trafią tylko rekordy spełniające oba warunki jednocześnie.
Odpowiedź z warunkiem OR jest błędna, bo OR zwraca wiersze spełniające co najmniej jeden z warunków: w praktyce dostałbyś też kontrahentów z inną grupą cenową, jeśli tylko ich obrót przekracza 4000, oraz kontrahentów z grupy 2 nawet wtedy, gdy obrót nie przekracza 4000.
Pozostałe błędne propozycje pokazują typową pomyłkę polegającą na myleniu nazw tabel i kolumn. W poprawnej składni po FROM musi wystąpić tabela (tu: "sprzedaz"), a nie kolumna. Dodatkowo wybieranie "sprzedaz" w SELECT miałoby sens tylko jako nazwa kolumny (której tu nie ma), a nie jako nazwa tabeli. Z perspektywy praktycznej: takie błędy skutkują komunikatami składniowymi lub pustymi/niepoprawnymi wynikami raportu.
Wskazówka egzaminacyjna: gdy w treści pojawia się "wyłącznie" i lista warunków połączona logiką "i", niemal zawsze szukasz w WHERE operatora AND.