10_SQL. Operatory języka SQL

Teraz omówimy operatory języka SQL przydatne przy porównaniach wszystkich typów danych.

 Operatory języka SQL to: between … and, in, like, is null 

Operator between … and sprawdza czy wartość znajduje się w wyznaczonym przedziale.

Skorzystamy z tabeli EMPLOYEES z bezpłatnej bazy Oracle HR dostępnej tutaj: http://www.oracle.com/technetwork/database/express-edition/downloads/index.html

Znajdźmy pracowników zarabiających od 2 600 do 3 000.

SELECT *

FROM EMPLOYEES

WHERE SALARY BETWEEN 2600 AND 3001;

Otrzymujemy tabelę wynikową:

Operator IN sprawdza czy wskazana wartość znajduje się w bazie. Operator wskazuje kto spełnia określone wartości.

Wybierzmy wszystkie osoby które zarabiają dokładnie 3 000.

SELECT *

FROM EMPLOYEES

WHERE SALARY IN 3000;

Otrzymujemy tabelę wynikową:

Operator LIKE pozwala wyszukać wartości zgodne z podanym wzorcem.

Znaki * oraz

Znaki: _ , #, ? zastępują tylko jeden znak.

Znak ! oznacza zaprzeczenie, symbolizuje nierówność podobnie jak znak <>.

Wybierzmy wszystkich pracowników których imie zaczyna się na L.

SELECT *

FROM EMPLOYEES

WHERE (FIRST_NAME LIKE '

Otrzymujemy tabelę wynikową:

Teraz wyszukujemy osoby, które drugą literę w imieniu mają o.

SELECT *

FROM EMPLOYEES

WHERE (FIRST_NAME LIKE '_

Stosowanie symboli wieloznacznych

Operator IS NULL pozwala wyszukać te rekordy które zawierają wartości nieokreślone null.

Znajdźmy wszystkich pracowników, którzy nie mają określonych wartości w kalumnie COMMISSION_PCT i zarabiają więcej niż 10 000.

SELECT *

FROM EMPLOYEES

WHERE COMMISSION_PCT IS NULL AND SALARY > 10000;

Otrzymujemy tabelę wynikową:

Operatory języka SQL mają określoną hierarchię. Najpierw wykonywane są operacje w nawiasach, potem wykonywane są operatory =, <>, <=, <, >. Potem wykonywane są operacje zawierające operatory: between … and, in, like, is null.  Na końcu realizowane są operatory negacji not, potem operator koniunkcji and i operator alternatywy or.