picoSQL  Language reference manual 
Search conditions are formed from one or more predicates, combined one another using the logical operators AND, OR and NOT. Conditions are used as to choose a subset of the rows from one or more tables. A search condition is evaluated any time a rows is read and the rows is returned if and only if the result of condition is TRUE.
NOTE: SQL standard use a three valued logic, so every condition evaluates as one of TRUE, FALSE or UNKNOWN. The truth tables of this kind of logic are the following:
AND 
TRUE 
FALSE 
UNKN. 
TRUE 
TRUE 
FALSE 
UNKN. 
FALSE 
FALSE 
FALSE 
FALSE 
UNKN. 
UNKN. 
FALSE 
UNKN. 
OR 
TRUE 
FALSO 
UNKN. 
TRUE 
TRUE 
TRUE 
TRUE 
FALSE 
TRUE 
FALSE 
UNKN. 
UNKN. 
TRUE 
UNKN. 
UNKN. 
NOT 

TRUE 
FALSE 
FALSE 
TRUE 
UNKN. 
UNKN. 
picoSQL use a more simple boolean logic with only the TRUE and FALSE values. This behaviour implies only one difference between picoSQL and SQL standard: picoSQL evaluates TRUE an equality between two NULL values while standard SQL does not.
Two operands in a predicate must be of comparable types.