Cuando se evalúan expresiones booleanas es posible la utilización de operadores lógicos para hacer más compleja las expresiones que se evalúan, regularmente, en el WHERE de un SELECT. Por ello es importante hacer un recuento de los operadores lógicos más comunes:
AND
Es un operador lógico binario, es decir, evalúa dos expresiones para obtener un resultado lógico. Regresa verdadero cuando sus dos expresiones booleanas de entrada son verdaderas, en cualquier otro caso retorna falso.
Ejemplos de AND
Expresión | Valor de retorno | Comentarios |
---|---|---|
1 > 5 AND 5 < 3 | Falso | Ambas expresiones son falsas, por lo que toda la expresión resulta falsa |
5 > 0 AND 13 <= 13 | Verdadero | Ambas expresiones son verdaderas, que es la única combinación que genera que la expresión completa regrese verdadero |
OR
Es un operador lógico binario (evalúa dos expresiones para obtener un resultado lógico) que regresa verdadero cuando sus cualquiera de sus dos expresiones booleanas de entrada son verdaderas, solo cuando las dos expresiones de entrada son falsas la expresión completa regresa falso.
Ejemplos de OR
Expresión | Valor de retorno | Comentarios |
---|---|---|
1 > 5 OR 5 < 3 | Falso | Ambas expresiones son falsas, por lo que toda la expresión resulta falsa |
5 > 0 OR 13 <= 13 | Verdadero | Ambas expresiones son verdaderas, que es la única combinación que genera que la expresión completa regrese verdadero |
5 > 7 OR 13 <= 23 | Verdadero | La expresión compeleta regresa un valor de verdadero ya que, si bien la primera expresión de entrada es falsa, la segunda es verdadera |
NOT
Es un operador unario, es decir, solo tiene como entrada una expresión, y el resultado final es la negación de la expresión booleana de entrada (regresa verdadero cuando la expresión de entrada es falsa y viceversa).
Ejemplos de NOT
Expresión | Valor de retorno | Comentarios |
---|---|---|
NOT 1 > 5 | Verdadero | Ya que la expresión de entrada es falsa, la negación de esta expresión resulta en un valor de TRUE |
NOT 5 > 0 | Falso | Dado que la expresión de entrada es verdadera, el resultado de aplicar el NOT es falso |
Operadores lógicos con subconsultas
Existen otros operadores lógicos en SQL que son más complejos y que pueden operar sobre subconsultas. Entre ellos se pueden mencionar:
- ALL : Compara un valor contra toda una lista y regresa verdadero si la comparación es verdadera para todos los elementos.
- ANY / SOME : Compara un valor contra toda una lista y regresa verdadero si la comparación es verdadera para por lo menos uno de los elementos.
- BETWEEN : Compara si un valor está dentro de un rango especificado
- EXISTS : Regresa verdadero si una lista de valores -o subquery- regresa al menos un registro
- IN : Compara un valor contra una lista proporcionada y regresa verdadero si el valor buscado está al menos una vez en la lista proporcionada
- LIKE : Hace comparaciones de un valor contar una expresión que usa comodines y buscar elementos parecidos y no exactamente iguales
Estos operadores lógicos se tratarán con mayor detalle en artículos posteriores.