57747 skanuj0289 (2)

57747 skanuj0289 (2)



Rozdział 10. ♦ Podstawy SQL 303

SELECT * FROM Osoba WHERE Id >= 3 AND Id <- 6: lub

SELECT * FROM Osoba WHERE Id BETWEEN 3 AND 6:

Efekt działania takiego zapytania został przedstawiony na rysunku 10.12.

Rysunek 10.12.

Efekt działania zapytania pobierającego dane z określonego przedziału


sobą uhere id bot


Krzysztof I Nowicki


! RokJJ rodzenia I Miejsce_Urodzeni


Jeśli chcielibyśmy, aby w wyniku zostały uwzględnione wartości z pewnego zbioru, a nie przedziału, można użyć zarówno serii instrukcji warunkowych, połączonych operatorami logicznymi, jak i operatora IN. Działanie będzie takie samo, jednak ta druga możliwość pozwala na prostszy i dużo czytelniejszy zapis instrukcji. Jeśli zatem chcemy otrzymać dane osób o identyfikatorach 3, 5 i 7, możemy zastosować instrukcję:

SELECT * FROM Osoba WHERE Id=3 OR Id=5 OR id=7: lub też instrukcję:

SELECT * FROM Osoba WHERE Id INO. 5. 7):

Efekt działania (w obu przypadkach identyczny) został przedstawiony na rysunku 10.13.

Rysunek 10.13.

Wykorzystanie operatora IN do pobran ia określonych wierszy

nysql> select *

from osoba uhere id in<3. 5, 7>;

! Id

Inie

Nazwisko

Rok_Urodzenia

Hiejsce_Urodzenia

1 3 1 5 1 7

||!

Kowalski

Malinowski

Adamczyk

1986

1989

1971

Nidzica

Kielce

Kielce

3 rows in set <0.00 sec)

Odwrotnością IN jest NOT IN, które pozwala na pobranie danych, które nie należą do wymienionego zbioru. Również i w tym wypadku możliwe jest użycie ekwiwalentu w postaci serii instrukcji warunkowych połączonym operatorami logicznymi. Jeśli zatem chcemy wyświetlić dane osób o identyfikatorach różnych od 1, 3, 5, 7 i 9, możemy skorzystać z instrukcji:

SELECT * FROM Osoba WHERE Id <> 1 AND Id o 3 AND Id o 5 AND Id o 7 AND Id o 9:

SELECT * FROM Osoba WHERE Id NOT IN(1. 3. 5. 7. 9):

Efekt ich działania został zaprezentowany na rysunku 10.14.

Funkcja LIKE, którą można traktować jako operator działający na ciągach znaków, pozwoli nam na pobranie z tabeli wierszy, których wybrane pola pasują do zdefiniowanego przez nas wzorca. Przykładowo, gdybyśmy chcieli poznać dane wszystkich osób, których imiona zaczynają się od ciągu Ka, powinniśmy zastosować instrukcję:

SELECT * FROM Osoba WHERE Imię LIKE 'Ka*':


Wyszukiwarka

Podobne podstrony:
skanuj0269 (3) Rozdział 10. ♦ Podstawy SQL 283 Tabela 10.1. Typy całkowitoliczbowe Typ Zakres
skanuj0271 (3) Rozdział 10. ♦ Podstawy SQL 285 W przypadku typu DECIMAL i jego synonimów możliwe jes
skanuj0279 (3) Rozdział 10. ♦ Podstawy SQL 293Zapytania wprowadzające dane Tabele utworzone w sposób
skanuj0281 (3) Rozdział 10. ♦ Podstawy SQL 295Druga postać instrukcji INSERT Druga wersja instrukcji
skanuj0283 (3) Rozdział 10. ♦ Podstawy SQL 297 Listing 10.1. Instrukcja SOL wstawiające przykładowe

więcej podobnych podstron