Operatory służące
do porównywania wartości
Operator
|
Opis
|
=
|
Równe
|
<>, !=, ~=, ^=
|
Nierówne
|
<
|
Mniejsze niż
|
>
|
Większe niż
|
<=
|
Mniejsze lub równe
|
>=
|
Większe lub równe
|
!<,
~<, ^<
|
Nie mniejsze niż
|
!>,
~>, ^>
|
Nie większe niż
|
Operator =
W poniższym zapytaniu użyto operatora równości (=),
aby pobrać z tabeli customer wiersze,
których cust_no jest równe 1002:
Operator <>
W poniższym zapytaniu użyto operatora nierówności (<>),
aby pobrać z tabeli customer wiersze,
których cust_no jest różne od 1002:
Operator >
W poniższym zapytaniu użyto operatora >, aby pobrać z tabeli department wiersze, których budget
jest większy od 1000000:
Operator !>
W poniższym zapytaniu użyto operatora !>, aby pobrać z tabeli department wiersze, których budget
jest nie większy niż 1000000:
Operatory SQL
Operatory SQL umożliwiają ograniczenie liczby
zwróconych wierszy na podstawie dopasowań do listy wartości.
Operator
|
Opis
|
LIKE
|
Porównuje wpisy ze wzorcem
|
STARTING WITH
|
Porównuje wpisy rozpoczynające się od wzorca
|
CONTAINING
|
Porównuje wpisy zawierające wzorzec
|
IN
|
Porównuje wartości z listą
|
BETWEEN
|
Porównuje wartości z zakresem
|
Operator LIKE
Operator LIKE w klauzuli WHERE służy do wyszukiwania
wzorca wpisu. Wzorce są definiowane za pomocą kombinacji zwykłych znaków oraz
poniższych dwóch symboli wieloznacznych:
- znaku podkreślenia (_), który oznacza jeden znak w określonym miejscu
- procentu (%), oznaczającego dowolną listę znaków , począwszy od określonego miejsca
Rozważmy następujący wzorzec :
Znak podkreślenia (_) jest spełniany przez dowolny
znak na pierwszej pozycji , a jest spełniane przez znak „a” na drugiej pozycji,
r jest spełniane przez znak „r” na trzeciej pozycji, a znak procentu (%) –
przez dowolne znaki znajdujące się za znakiem r. W poniższym zapytaniu użyto
operatora LIKE do wyszukania wzorca ‘_ar%’ w kolumnie first_name tabeli employee:
Zostały zwrócone cztery wiersze, ponieważ tylko we
wpisach Carol, Mary S., Mary, Mark znak „a” stoi na drugiej pozycji
oraz znak „r” stoi na trzeciej pozycji. W następny zapytaniu użyto NOT LIKE w
celu pobrania wierszy , które nie zostały zwrócone przez poprzednie zapytanie:
Operator STARTING
WITH
Operator STARTING w klauzuli WHERE służy do
wyszukiwania wpisu, który rozpoczyna się od wzorca. W poniższym zapytaniu użyto
operatora STARTING WITH do pobrania z tabeli employee wierszy, w których first_name
rozpoczyna się od ‘ro’ (wielkość liter nie ma znaczenia) :
Operator CONTAINING
Operator CONTAINING w klauzuli WHERE służy do wyszukiwania wpisu, w którym znajduje
się wzorzec. W poniższym zapytaniu użyto operatora CONTAINING do pobrania z tabeli employee wierszy, w których w first_name znajduje się ‘ro’ (wielkość
liter nie ma znaczenia) :
Operator IN
Operator IN pozwala wybrać wartości znajdujące się na
liście. W poniższym zapytaniu użyto operatora IN do pobrania z tabeli employee wierszy, dla których emp_no ma wartości 2, 4 lub 5:
NOT
IN pobierze wiersze, które nie zostały pobrane przy użyciu operatora IN:
Jeżeli
na liście znajduje się wartość null to
NOT IN zwróci fałsz. Obrazuje to poniższe zapytanie, które nie zwraca żadnych
wierszy, ponieważ na liście znajduje się wartość null:
Operator BETWEEN
Operator BETWEEN w klauzuli WHERE pozwala wybrać wiersze w których wartość z
danej kolumny zwiera się w określonym przedziale. Jest on domknięty co oznacza,
że obydwa końce należą do przedziału. W poniższym zapytaniu użyto operatora BETWEEN
do pobrania z tabeli employee
wierszy, w których emp_no należą do
przedziału od 2 do 9:
Operatory logiczne
Operatory logiczne pozwalają ograniczyć liczbę
zwracanych wierszy za pomocą warunków logicznych.
Operator
|
Opis
|
x AND y
|
Zwraca prawdę, jeżeli x i y są jednocześnie
prawdziwe
|
x OR y
|
Zwraca prawdę, jeżeli prawdziwe jest x lub y
|
x NOT
|
Zwraca prawdę, jeżeli x nie jest prawdą i zwraca fałsz, jeżeli x jest prawdą
|
Operator AND
Poniższe zapytanie obrazuje użycie operatora AND do
pobrania z tabeli employee wierszy, dla których oba poniższe warunki są
prawdziwe:
- wartość w kolumnie job_country to England
- wartość w kolumnie salary jest mniejsza od 50000
Operator OR
Kolejne zapytanie obrazuje użycie operatora OR do
pobrania z tabeli employee wierszy, dla których przynajmniej jeden z poniższych
warunków jest prawdziwy:
- wartość w kolumnie job_country to England
- wartość w kolumnie salary jest mniejsza od 50000
Następstwo
operatorów
Jeżeli w tym samym wyrażeniu połączymy operatory AND i
OR, operator AND będzie miał pierwszeństwo przed operatorem OR (oznacza to, że
jego rezultat zostanie wyliczony jako pierwszy). Operatory porównywania mają pierwszeństwo
przed operatorem AND. Można zmienić domyślne następstwo operatorów, używając
nawiasów do określenia kolejności wykonywanych wyrażeń.
przy operatorze STARTING WITH wielkość liter ma znaczenie
OdpowiedzUsuń