piątek, 10 marca 2017

Lekcja 10. Operatory.

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ń. 



1 komentarz: