Wyszukiwanie według określonych kryteriów
Podczas poprzednich zajęć wyszukiwaliśmy dane zawarte we wskazanych kolumnach, wskazanej tabeli. Wynikiem były wszystkie rekordy wskazywanych kolumn. Możemy zawęzić wyszukiwanie tylko do rekordów, spełniajacych zdefiniowane przez nas warunki. W tym celu stosuje się klauzulę WHERE
- określa ona kryteria, które są podstawą wyszukiwania.
Ćwiczenie 4_2_1_1. Wyszukanie we wskazanej tabeli, wierszy wskazanych kolumn. Wiersze mają spełniać kryteria, zdefiniowane poprzez zastosowanie operatora równości "="
Sprawdź w tabeli pokazującej operatory porównań
Na początku bardzo ważna uwaga. Ponieważ będziemy w niedalekiej już przyszłości stosować PHP do obsługi MySQL, należy rozróżnić znak "równy" stosowany w PHP ==
(podwójny znak "równa się") oraz znak "równy" w MySQL =
(pojednynczy znak).
Zadanie polega na wyszukaniu w tabeli zamowienia
wszystkich pól tych wierszy, których klient_id
ma wartość równą 5. W tym celu należy zastosować następujący kod SQL:
SELECT *
FROM zamowienia
WHERE klient_id=5;

zamowienia
wszystkich pól tych wierszy, których klient_id
ma wartość równą 5.
zamowienia
z danymiPorównaj obie tabele i sprawdź, czy wynik wyszukiwania jest poprawny.
Ćwiczenie 4_2_1_2. Wyszukanie przy zastosowaniu kilku operatorów porównań
Sprawdź w tabeli pokazującej operatory porównań
Zadanie jest rozszerzeniem poprzedniego ćwiczenia. Wyszukujemy w tabeli zamowienia
wszystkie pola tych wierszy, których klient_id
ma wartość równą 5 lub wartość 7. W tym celu należy zastosować następujący kod SQL:
SELECT *
FROM zamowienia
WHERE klient_id=5 OR klient_id=7;

zamowienia
wszystkich pól tych wierszy, których klient_id
ma wartość równą 5 lub wartość równą 7
Zastosowanie operatora logicznego OR
(logiczne lub, suma logiczna) spowodowało dodatkowe wyświetlenie tych wierszy, których klient_id
ma wartość równą 7.
Operatory porównania, stosowane w klauzuli WHERE
W poprzednim ćwiczeniu zastosowaliśmy operator =
w połączeniu z operatorem logicznym OR
. Poniższa tabela zawiera zestawienie operatorów porównania, najczęściej stosowanych w klauzuli WHERE
WHERE
Nr ćwiczenia | Operator | Nazwa, jeżeli jest stosowana | Przykład | Opis |
---|---|---|---|---|
4_2_1_1, 4_2_1_2 | = | równy | klient_id=5 | sprawdza, czy obie wartości są sobie równe |
4_2_1_3 | > | większy od | wartosc>70.00 | sprawdza, czy pierwsza wartość, jest większa od drugiej |
4_2_1_4 | < | mniejszy od | wartosc<70.00 | sprawdza, czy pierwsza wartość, jest mniejsza od drugiej |
4_2_1_5 | >= | większy lub równy | wartosc>=66.30 | sprawdza, czy pierwsza wartość, jest większa lub równa drugiej |
4_2_1_6 | <= | mniejszy lub równy | wartosc<=66.30 | sprawdza, czy pierwsza wartość, jest mniejsza lub równa drugiej |
4_2_1_7 | != lub <> | różny | wartosc !=66.30 | sprawdza, czy dwie wartości są różne |
4_2_1_8 | IS NOT NULL | adres IS NOT NULL | sprawdza, czy pole posiada wartość | |
4_2_1_9 | IS NULL | adres IS NULL | sprawdza, czy pole jest puste | |
4_2_1_10 | BETWEEN | cena BETWEEN 25.30 AND 90.20 | Sprawdza czy wartość należy do podanego przedziału wartości | |
4_2_1_11 | IN | miejscowosc IN('Krasnystaw', 'Warszawa') | sprawdza, czy wartość należy do podanego zbioru wartości | |
4_2_1_12 | NOT NOT IN | miejscowosc NOT IN('Krasnystaw', 'Warszawa') | sprawdza, czy wartość nie należy do podanego zbioru wartości | |
4_2_1_13 | LIKE | wyszukiwanie wzorca | nazwisko LIKE 'Józef %' | sprawdza, czy wartość pasuje do określonego wzorca |
4_2_1_14 | NOT LIKE | wyszukiwanie wzorca | nazwisko NOT LIKE 'Józef %' | sprawdza, czy wartość nie pasuje do określonego wzorca |
- | REGEXP | wyrażenie regularne | nazwisko REGEXP '^Na.*' | sprawdza, czy wartość pasuje do określonego wyrażenia regularnego. Nie znamy teorii wyrażeń regularnych, więc tego operatora nie będziemy stosować |
Operatory pokazane w powyższej tabeli zastosujmy w praktyce.
Ćwiczenie 4_2_1_3
Sprawdź w tabeli pokazującej operatory porównań
Zastosuj następujący kod SQL:
SELECT wartosc, data
FROM zamowienia
WHERE wartosc>70.00;

WHERE
- operator >
Ćwiczenie 4_2_1_4
Sprawdź w tabeli pokazującej operatory porównań
Zastosuj następujący kod SQL:
SELECT wartosc, data
FROM zamowienia
WHERE wartosc<70.00;

WHERE
- operator <
Ćwiczenie 4_2_1_5
Sprawdź w tabeli pokazującej operatory porównań
Zastosuj następujący kod SQL:
SELECT wartosc, data
FROM zamowienia
WHERE wartosc>=66.30;

WHERE
- operator >=
Ćwiczenie 4_2_1_6
Sprawdź w tabeli pokazującej operatory porównań
Zastosuj następujący kod SQL:
SELECT wartosc, data
FROM zamowienia
WHERE wartosc<=66.30;

WHERE
- operator <=
Ćwiczenie 4_2_1_7
Sprawdź w tabeli pokazującej operatory porównań
Zastosuj następujący kod SQL:
SELECT wartosc, data
FROM zamowienia
WHERE wartosc!=66.30;

WHERE
- operator !=
Ćwiczenie 4_2_1_8
Sprawdź w tabeli pokazującej operatory porównań
Zastosuj następujący kod SQL:
SELECT nazwisko, adres
FROM klienci
WHERE adres IS NOT NULL;

WHERE
- operator IS NOT NULL
Ćwiczenie 4_2_1_9
Sprawdź w tabeli pokazującej operatory porównań
Zastosuj następujący kod SQL:
SELECT nazwisko, adres
FROM klienci
WHERE adres IS NULL;

WHERE
- operator IS NULL
Ćwiczenie 4_2_1_10
Sprawdź w tabeli pokazującej operatory porównań
Zastosuj następujący kod SQL:
SELECT tytul, cena
FROM ksiazki
WHERE cena BETWEEN 25.30 AND 90.20;

WHERE
- operator BETWEEN
Ćwiczenie 4_2_1_11
Sprawdź w tabeli pokazującej operatory porównań
Zastosuj następujący kod SQL:
SELECT nazwisko, adres, miejscowosc
FROM klienci
WHERE miejscowosc IN('Krasnystaw', 'Warszawa');

WHERE
- operator IN
Ćwiczenie 4_2_1_12
Sprawdź w tabeli pokazującej operatory porównań
Zastosuj następujący kod SQL:
SELECT nazwisko, adres, miejscowosc
FROM klienci
WHERE miejscowosc NOT IN('Krasnystaw', 'Warszawa');

WHERE
- operator NOT IN
Ćwiczenie 4_2_1_13
Sprawdź w tabeli pokazującej operatory porównań
Zastosuj następujący kod SQL:
SELECT nazwisko, adres, miejscowosc
FROM klienci
WHERE nazwisko LIKE 'Józef %';

WHERE
- operator LIKE
Ćwiczenie 4_2_1_14
Sprawdź w tabeli pokazującej operatory porównań
Zastosuj następujący kod SQL:
SELECT nazwisko, adres, miejscowosc
FROM klienci
WHERE nazwisko NOT LIKE 'Józef %';

WHERE
- operator NOT LIKE