Ir al contenido principal

El Operador AND ok


El operador AND une condiciones en una condición más grande que una fila de cumplir  para ser incluida en el conjunto de datos de resultado. Los operadores boleanos son definidos utilizando las tablas de verdad.
El funcionamiento del operador AND es el siguiente, si dos condiciones especificadas en la clausula WHERE son unidas con el operador AND, entonces una fila será probada consecutivamente y deberá cumplir ambas condiciones para ser recuperada en el conjunto de datos de resultado. Si ninguna de las condiciones se cumple o solo una de las condiciones se cumple la fila es excluida del resultado ya que la condición es Falsa. Si la fila contiene un valor NULL que causa que una de las condiciones a evaluar sea NULL, entonces esa fila es excluida. Una fila será regresada en el resultado si cada una de las condiciones unidas con el operador AND es verdadera. En un escenario con más de dos condiciones unidas con el operador AND, solo las filas que cumplan con todas las condiciones serán regresadas en el resultado. Los escenarios aquí planteados han sido de dos condiciones para agregar otra condición agregamos un operador AND seguido de la condición. Entre más condiciones tenga una expresión será más restrictiva.
Recuerda que Verdadero AND Null es Null, Null AND Verdadero es Null, Falso AND Null, Null AND Falso es Falso y Null AND Null es Null.

Condicion X
Condicion Y
Resultado
Falso
Falso
Falso
Verdadero
Falso
Falso
Falso
Verdadero
Falso
Verdadero
Verdadero
Verdadero
Verdadero
Null
Null
Null
Verdadero
Null
Falso
Null
Falso
Null
Falso
Falso
Null
Null
Null

Ejemplos:

-- ESQUEMA HR
-- REGIONS LOCATIONS DEPARTMENTS COUNTRIES JOB_HISTORY EMPLOYEES JOBS

-- OPERADOR AND, TODAS LAS CONDICIONES DEBEN SER VERDADERAS PARA QUE UNA FILA SEA REGRESADA Y ENTRE MAS CONDICIONES SEAN ESPECIFICADA MAS RESTRICTIVA SERÁ LA CONDICION.

-- LAST_NAME INICIE CON D, SALARIO MAYOR A 2500 Y JOB_ID IGUAL A SH_CLERK
SELECT * FROM employees WHERE first_name LIKE 'D%' AND salary > 2500 AND job_id = 'SH_CLERK';

-- HIRE_DATE MAYOR A 01-ENERO-2008 Y COMISION SEA NULA
SELECT * FROM employees WHERE hire_date > '01-ENE-2008' AND commission_pct IS NULL AND job_id = 'ST_CLERK';

-- FIRST_NAME INICIE CON A SEGUIDA DE CUALQUIER NUMERO DE LETRA Y JOB ID IGUAL SH_CLERK Y SALARY MAYOR IGUAL A 3100 Y COMISSION IGUAL NULL Y DEPARTMENT ID IGUAL A 50
SELECT * FROM employees WHERE first_name LIKE 'A%' AND job_id = 'SH_CLERK' AND salary >= 3100 AND commission_pct IS NULL AND department_id = 50

Comentarios