Operatory logiczne w SQL Server

Operatory logiczne w MsSQL

Operatory logiczne w SQL Server jak sama nazwa wskazuje, służą do wprowadzenia logicznych warunków do naszego zapytania SQL. Operatory można używać oddzielnie oraz łączyć ze sobą. Poniżej zamieszczam ich opis oraz przykłady. Z punktu widzenia bazy danych operatory zwracają wartość TRUE lub FALSE. Z naszego punktu widzenia interesuje nas to, czy prawdą lub fałszem jest warunek, który za ich pomocą tworzysz.

Najczęściej używane operatory logiczne w SQL Server:

OperatorOpis
ANDZwraca wartość TRUE, jeśli wyrażenie jest prawdą. Wprowadza składnię wyrazy „i” do zapytania.
BETWEENZwraca wartość TRUE jeśli badana wartość znajduje się w określonym zakresie wartości. Użycie operatora pomaga nam wylistować wartości zawierające się danym przedziale. Poniżej zapytanie zwracające wszystkie rekordy, które w kolumnie productid mają wartości pomiędzy 300 i 400.
INZwraca wartość TRUE jeśli badana wartość znajduje się na określonej liście wartości . Wskazuje wartości zawierające się w określonym przez nas zbiorze. Dodane przed IN operatora NOT, zwróci nam rekordy, zawierjące każde inne wartości niż podane.
LIKEZwraca wartość TRUE jeśli badana wartość pasuje do podanego wzoru formatu
Operator służy zazwyczaj do sprawdzania wartości podobnych. Możemy go użyć, gdy np chcemy w naszym zapytaniu wylistować rekordy, które zawierają wartości podobne do naszego warunku. „%” – zastępuje dowolną frazę, „_” – zastępuje dowolny jeden znak. Poniższe zapytanie zwraca rekordy, które w kolumnie name zawierają frazę  „PAINT”. Zamiast like można stosować NOT LIKE – wskaże nam to wynik z odwrotną logiką.
NOTZwraca wartość odwrotną do użytych warunkó
ORWyrażenie „Lub”

IN

use adventureworks2014
go
select * from production.product
where color in ('Black','Silver', NULL)
go

Lub

select * from production.product
where color NOT in ('Black','Silver')
go

AND, OR, NOT

Standardowe operatory logiczne, za pomocą których możemy wprowadzić w naszym wyrażeniu składnie i, lub, nie.

use adventureworks
go
select * from production.product 
where (color = 'Black' or color = 'silver')
and productline not in ('M')
go

BETWEEN

use adventureworks
go
select * from production.product
where ProductID between 300 and 400
go

Lub

use adventureworks
go
select * from production.product
where ProductID NOT between 300 and 400
go 

LIKE

use adventureworks
go
select * from production.Location
where upper(name) like '%PAINT%'
GO

Lub

use adventureworks
go
select * from production.Location
where upper(name) NOT like '%PAINT%'
GO

Pozostałe operatory logiczne MsSQL: EXIST, ALL, ANY, SOME

Te operatory są używane rzadziej. Nie musisz znać ich na początku swojej nauki SQL. Wyniki zapytań pisane z użyciem tych operatorów można także otrzymać w inny sposób.

OperatorDefinicja
EXISTSZwraca wartość TRUE, jeśli podzapytanie zwraca jakikolwiek rekord.
ALLZwraca wartość TRUE, jeśli wszystkie z porównań są prawdziwe.
ANYZwraca wartość TRUE, jeśli którekolwiek z porównań jest prawdziwe.
SOME Zwraca wartość TRUE, jeśli część z porównań jest prawdą.

Artykuł jest częścią kursu MsSQL, który zamieściłem pod tym adresem: Kurs SQL Server – Querying.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *