Inspiracja , wiedza , realizacja
Jsystems

W przebudowie

Login



Java

Oracle

Linux

Android

PostgreSQL

Microsoft SQL Server

Operatory

Rafał Czarkowski
Data dodania: Jun 21, 2016
Data aktualizacji: Jun 21, 2016

Budując zapytania do bazy danych możemy korzystać z operatorów, które pozwalają porównywać, wykonywać operacje, łączenia i porównania wartości.


Operatory arytmetyczne

Pozwalają wykonywać operacje matematyczne na wartościach. Należą do nich:

+ , -, *, /


Operator modulo

%

Zwraca on pozostałość z dzielenia całkowitego


Operator konkatenacji

+

Służy on do łączenia dwu wartości tekstowych.


Operatory porównań

= (równy),

< (mniejszy niż),

> (większy niż),

<= (mniejszy lub równy),

>= (większy lub równy),

!< (nie mniejszy niż)

!> (nie większy niż)

!= lub <> (nierówny).


Operator zakresu

x [NOT] BETWEEN y AND z

Operator ten sprawdza, czy wartość x mieści [nie mieści] się w przedziale domkniętym

<y,z>


Operator przynależności do listy

x [NOT] IN (x1, x2, ..., xn)

Operator ten sprawdza, czy wartość x znajduje [nie znajduje ] się na liście wartości x1,

x2, ..., xn.


Operator wzorca

x [NOT] LIKE y

Operator ten sprawdza, czy wartość napisu x przystaje [nie przystaje] do maski y. Podczas definiowania maski możemy korzystać ze znaków specjalnych:

% - procent, zastępuje dowolną ilość dowolnych znaków,

_ - podkreślenie (podłoga), zastępuje dokładnie jeden dowolny znak,

[ABC] - nawias kwadratowy z listą znaków, zastępuje jeden znak, który jest jednym ze znaków wyspecyfikowanych na liście,

[A-E] – nawias kwadratowy z zakresem znaków, zastępuje jeden znak, który jest jednym ze znaków wyspecyfikowanych w podanym zakresie,

[^A-E] - nawias kwadratowy ze znaczkiem daszka, z listą lub zakresem znaków, zastępuje jeden znak, który nie jest jednym ze znaków wyspecyfikowanych w podanym zakresie


Operator testowania wartości

x IS [NOT] NULL

Operator ten sprawdza, czy x zawiera [nie zawiera] wartości NULL.


Operatory logiczne

NOT, AND, OR

Operatory te służą do nadawania więcej niż jednego warunku w zapytaniu.


Wyrażenie zawierające choć jeden składnik lub czynnik z wartością pustą produkuje pusty wynik.


Poniżej zestawienie możliwych wartości i wyniki przez nie produkowane.


TRUE AND NULL => NULL

FALSE AND NULL => FALSE

TRUE OR NULL => TRUE

FALSE OR NULL => NULL


Priorytety operatorów


Składowe złożonych wyrażeń łączone są ze sobą w kolejności zależnej od priorytetów operatorów. W przypadku operatorów o tym samym priorytecie łączenie następuje od lewej strony do prawej.

Domyślną kolejność łączenia można zmienić przy pomocy nawiasów (tak jak w matematyce).

Poniżej lista opisuje pierwszeństwo operatorów, od najwyższego do najniższego.


  1. ( ) (nawiasy)

  2. * mnożenie, / (dzielenie, % (modulo)

  3. + (dodawanie), + (konkatenacja), - (odejmowanie)

  4. =, <, >, <=, >=, <>, !=, !<, !> (operatory porównania)

  5. NOT

  6. AND

  7. BETWEEN, IN, LIKE, OR

  8. = (przypisanie)


Poniżej dwa proste przykłady ilustrujące kolejność wykonywania działań. Pierwsze bez użycia nawiasów, drugie już z ich zastosowaniem.


select 2+2*2;




select 2+2*2;