Em SQL, todos os operadores logicos avaliam TRUE (VERDADEIRO),
          FALSE (FALSO) ou NULL (DESCONHECIDO). No MySQL, esta
          implementação é como 1 (TRUE),
          0 (FALSE), e NULL. A
          maioria deles é comum entre diferentes bancos de dados SQL.
          no entanto alguns podem retonar qualquer valor diferente de
          zero para TRUE.
        
              NOT, !
            
              NOT logico. Avalia como 1 se o operador
              é 0, como 0 se o
              operador é diferente de zero, e NOT
              NULL retorna NULL.
mysql>SELECT NOT 10;-> 0 mysql>SELECT NOT 0;-> 1 mysql>SELECT NOT NULL;-> NULL mysql>SELECT ! (1+1);-> 0 mysql>SELECT ! 1+1;-> 1
              O último exemplo produz 1 pois a a
              expressão é avaliada como (!1)+1.
            
              AND, &&
            
              AND lógico. Avalia como 1 se todos os
              operandos são diferentes de zero e não é
              NULL, como 0 se um
              ou mais operandos são 0, senão
              retorna NULL.
mysql>SELECT 1 && 1;-> 1 mysql>SELECT 1 && 0;-> 0 mysql>SELECT 1 && NULL;-> NULL mysql>SELECT 0 && NULL;-> 0 mysql>SELECT NULL && 0;-> 0
              Por favor note que as versões do MySQL anteriores a
              versão 4.0.5 param a avaliação quando um valor
              NULL é encontrado, e não continua o
              processo buscando por possíveis 0s.
              Isto significa que nessa versão, SELECT (NULL
              AND 0) retorna NULL ao invés
              de 0. Na versão 4.0.5 o código tem
              sido re-elaborado para que o resultado sempre seja como
              prescrito pelo padrão SQL utilizando a otimização
              sempre que possível.
            
              OR, ||
            
              OR lógico. Avalia como 1 se algum
              operando é diferente de zero e como
              NULL se algum operando for
              NULL, senão 0 é
              retornado.
mysql>SELECT 1 || 1;-> 1 mysql>SELECT 1 || 0;-> 1 mysql>SELECT 0 || 0;-> 0 mysql>SELECT 0 || NULL;-> NULL mysql>SELECT 1 || NULL;-> 1
              XOR
            
              XOR lógico. Retorna NULL se o operando
              também é NULL. Para operandos não
              NULL, avalia como 1
              se um número ímpar de operandos é diferente de zero,
              senão 0 é retornado.
mysql>SELECT 1 XOR 1;-> 0 mysql>SELECT 1 XOR 0;-> 1 mysql>SELECT 1 XOR NULL;-> NULL mysql>SELECT 1 XOR 1 XOR 1;-> 1
              a XOR b é matematicamente igual a
              (a AND (NOT b)) OR ((NOT a) and b).
            
              XOR foi adicionado na versão 4.0.2.
            
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

