Teraz poznamy kilka opcji wyszukiwania danych SQL Oracle za pomocą operatorów logicznych: not, or oraz and.
Skorzystamy z tabeli EMPLOYEES z bezpłatnej bazy Oracle HR dostępnej tutaj: http://www.oracle.com/technetwork/database/express-edition/downloads/index.html
Klauzula WHERE z operatorami logicznymi
Teraz przy zastosowaniu opcji wyszukiwania danych SQL Oracle wybierzemy wszystkich pracowników, których zarobki są większe od 12000 z kodem JOB_ID równym „SA_MAN”. Dane zostaną posortowane malejąco.
SELECT *
FROM EMPLOYEES
WHERE SALARY >12000 and JOB_ID = 'SA_MAN'
ORDER BY SALARY DESC;
Otrzymujemy tabelę wynikową:
Teraz wybierzemy wszystkich pracowników, którzy albo mają pensje powyżej 11000 albo pracują w księgowości („FI_ACCOUNT”) i zarabiają powyżej 7 800. Dane zostaną posortowane malejąco.
SELECT *
FROM EMPLOYEES
WHERE SALARY >11000 OR (JOB_ID = 'FI_ACCOUNT' AND SALARY > 7800)
ORDER BY SALARY DESC;
Otrzymujemy tabelę wynikową:
Teraz z jakiś powodów, korzystając z opcji wyszukiwania danych SQL Oracle dodatkowo wyrzucamy z tabeli wynikowej wszystkie osoby, których EMPLOYEE_ID jest mniejsze od 140. Zasada ta ma nie dotyczyć księgowych.
SELECT *
FROM EMPLOYEES
WHERE (SALARY >11000 AND EMPLOYEE_ID > 140 ) OR (JOB_ID = 'FI_ACCOUNT' AND SALARY > 7800)
ORDER BY SALARY DESC;
Otrzymujemy tabelę wynikową:
Znaki * oraz
Znaki: _ , #, ? zastępują tylko jeden znak.
Znak ! oznacza zaprzeczenie, symbolizuje nierówność podobnie jak znak <>.



