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:
| Operator | Opis |
| AND | Zwraca wartość TRUE, jeśli wyrażenie jest prawdą. Wprowadza składnię wyrazy „i” do zapytania. |
| BETWEEN | Zwraca 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. |
| IN | Zwraca 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. |
| LIKE | Zwraca 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ą. |
| NOT | Zwraca wartość odwrotną do użytych warunkó |
| OR | Wyrażenie „Lub” |
IN
use adventureworks2014
go
select * from production.product
where color in ('Black','Silver', NULL)
goLub
select * from production.product
where color NOT in ('Black','Silver')
goAND, 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.
| Operator | Definicja |
| EXISTS | Zwraca wartość TRUE, jeśli podzapytanie zwraca jakikolwiek rekord. |
| ALL | Zwraca wartość TRUE, jeśli wszystkie z porównań są prawdziwe. |
| ANY | Zwraca 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.
