Krótko mówiąc, dla dwóch wartości logicznych operator XOR zwraca wartość true, jeśli są one różne. To takie proste.
- prawda XOR fałsz zwraca prawdę
- fałsz XOR fałsz zwraca fałsz
- prawda XOR prawda zwraca fałsz
Przyjrzyjmy się, co robi operator XOR w SQL i jak możemy go użyć. W celach demonstracyjnych używamy MySQL jako podstawowego systemu baz danych.
Operator SQL XOR
W języku SQL operator XOR umożliwia wykonywanie logicznych operacji XOR pomiędzy dwoma wyrażeniami boolowskimi.
Podobnie jak w przypadku każdej operacji XOR, operator zwraca wartość logiczną true, jeśli dokładnie jedno z wyrażeń jest prawdziwe, a w przeciwnym razie zwraca wartość logiczną false.
MySQL obsługuje operator XOR, który pozwala nam pisać złożone instrukcje warunkowe w oparciu o tę logikę.
Podstawowa składnia jest następująca:
wyrażenie1 XOR wyrażenie2Przyjrzyjmy się podstawowemu zastosowaniu tej funkcjonalności.
Podstawowe użycie
Rozważmy następujący przykład ilustrujący zachowanie operatora XOR w MySQL podczas oceny dwóch wyrażeń boolowskich:
wybierz 1 x lub 1 jako res;W tym przypadku MySQL traktuje 1 jako prawdę, a 0 jako fałsz. Zatem, ponieważ oba wyrażenia są prawdziwe, operator zwraca fałsz w następujący sposób:
rez|---+
0|
Funkcjonalność operatora zostaje zachowana, gdy jedno z wyrażeń lub operandów ma wartość true. Przykład jest następujący:
wybierz 1 x lub 0 jako rozdzielczość;W tym przypadku, ponieważ tylko jedna wartość jest prawdziwa, operator zwraca prawdę w następujący sposób:
rez|---+
1|
Zaawansowane użycie
Przyjrzyjmy się bardziej zaawansowanemu przykładowi użycia operatora XOR przy użyciu tabeli bazy danych. W tym przypadku korzystamy z tabeli „klient” z przykładowej bazy danych Sakila.
Załóżmy, że chcemy pobrać z tabeli klientów listę klientów, którzy są aktywnymi lub nieaktywnymi członkami, ale nie oboje.
W tym przypadku status aktywny jest reprezentowany przez 1, a status nieaktywny jest reprezentowany przez wartość 0.
Aby to osiągnąć, możemy użyć tego w połączeniu z operatorem XOR. Rozważmy następujące przykładowe zapytanie:
WYBIERZ identyfikator_klienta, imię, adres e-mail, aktywnyOD klienta
GDZIE (aktywny XOR NIEaktywny) = 1 limit 3;
To powinno zwrócić pasujące rekordy w następujący sposób:
Masz to!
Wniosek
W tym samouczku nauczyliśmy się pracować z operatorem XOR w języku SQL i używać go, omawiając różne funkcje i zastosowania. Przyjrzeliśmy się również, jak możemy go użyć w tabeli bazy danych do filtrowania określonych rekordów.