NOT logico. Avalia como 1 se o operador é 0, como 0 se o operador é diferente de zero, e NOT NULL retornaNULL.
mysql> SELECT NOT NULL;
-> NULL
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 0 || NULL;
-> NULL
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 && NULL;
-> NULL
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 || NULL;
-> 1
Resolvi essa questão através da lógica:
not null - Da para saber quem é null? não, então a resposta é null, pois não da para negar algo que não conhecemos.
0 or null - Null pode ser 0 ou 1 então não da para saber a resposta, pois a disjunção necessita de pelo menos um valor logico verdadeiro para ser verdade.
1 and null - Null pode ser 0 ou 1 então não da para saber a resposta, pois a conjunção necessita de pelo menos os dois valores logicos verdadeiros para ser verdade.
null or 1 - Retorna 1, pois independente de null a resposta será verdadeira.
Espero ter ajudado. Bons estudo e que Deus nos ajude!