SQL XOR operatør

Sql Xor Operator



Exclusive OR, almindeligvis kendt som XOR, er en af ​​de mest populære og nyttige logiske operatorer i SQL og andre programmeringssprog. XOR returnerer sand, når kun én af de angivne operander er sand og returnerer falsk ellers.

Kort sagt, for to booleske værdier returnerer XOR-operatoren sand, hvis de er forskellige. Så enkelt er det.

  • sand XOR falsk returnerer sand
  • falsk
  • true XOR true returnerer falsk

Lad os undersøge, hvad XOR-operatøren i SQL gør, og hvordan vi kan bruge den. Til demonstrationsformål bruger vi MySQL som basisdatabasesystemet.







SQL XOR operatør

I SQL giver XOR-operatoren os mulighed for at udføre de logiske XOR-operationer mellem to boolske udtryk.



Som enhver XOR-operation returnerer operatoren en boolesk sand, hvis præcis et af udtrykkene er sand, og returnerer en boolsk falsk ellers.



MySQL understøtter XOR-operatoren, som giver os mulighed for at skrive de komplekse betingede udsagn baseret på denne logik.





Den grundlæggende syntaks er som følger:

udtryk1 XOR udtryk2

Lad os undersøge nogle grundlæggende brug af denne funktionalitet.



Grundlæggende brug

Overvej følgende eksempel, der viser, hvordan XOR-operatoren opfører sig i MySQL, når to booleske udtryk evalueres:

vælg 1 x eller 1 som res;

I dette tilfælde behandler MySQL 1 som sand og 0 som falsk. Da begge udtryk er sande, returnerer operatoren falsk som følger:

res|
---+
0|

Operatorens funktionalitet bevares, når et af udtrykkene eller operanderne er sande. Et eksempel er som følger:

vælg 1 x eller 0 som res;

I dette tilfælde, da kun præcis én værdi er sand, returnerer operatoren sand som følger:

res|
---+
1|

Avanceret brug

Lad os se på et mere avanceret eksempel på brug af XOR-operatoren ved hjælp af en databasetabel. Til denne bruger vi 'kunde'-tabellen fra Sakila-eksempeldatabasen.

Antag, at vi ønsker at hente en liste over kunder, der enten er aktive eller inaktive medlemmer, men ikke begge fra kundetabellen.

I dette tilfælde er den aktive status repræsenteret af 1, og den ikke-aktive status er repræsenteret med værdien 0.

Vi kan bruge dette sammen med XOR-operatøren for at opnå dette. Overvej følgende eksempelforespørgsel:

VÆLG kunde_id, fornavn, e-mail, aktiv

FRA kunde

HVOR (aktiv XELLER IKKE aktiv) = 1 grænse 3;

Dette skulle returnere de matchende poster som følger:

 Et nærbillede af et navn, der genereres automatisk

Der har du det!

Konklusion

I denne tutorial lærte vi, hvordan man arbejder med og bruger XOR-operatoren i SQL ved at dække de forskellige funktioner og brug. Vi så også på, hvordan vi kan bruge det i en databasetabel til at filtrere efter specifikke poster.