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
Publicar un comentario