domingo, 15 de julio de 2007

Reglas de Prioridad

Las reglas de prioridad determinan el orden en el que se evalúan y se calculan las expresiones.

La tabla enumera el orden de prioridad por defecto.

1 Operadores aritméticos
2 Operador de Concatenación
3 Condiciones de comparación
4 IS [NOT] NULL, LIKE, [NOT] IN
5 [NOT] BETWEEN
6 Condición lógica NOT
7 Condición lógica AND
8 Condición lógica OR

Prioridad del Operador AND

  • En este ejemplo, tenemos dos condiciones:

    • La primera condición es que el cargo es PRESIDENT y el salario mayor que 4000.
  • La segunda condición es que el cargo es SALES.

Select ename, job, sal From emp
Where job= 'SALES' OR job = 'PRESIDENT' AND sal > 4000;

http://liang.armstrong.edu:5560/isqlplus

La sentencia SELECT indica lo siguiente:
“Seleccionar la fila si un empleado es presidente (PRESIDENT) y gana más de 4000 o si el empleado es vendedor (SALES).”

Uso de Paréntesis

  • En este ejemplo, tenemos dos condiciones:

    • La primera condición es que el cargo es PRESIDENT o SALES.
    • La segunda condición es que el salario es mayor que 4000.

Select ename, job, sal From emp
Where (job = 'SALES' OR job = 'PRESIDENT') AND sal> 4000;

La sentencia SELECT indica lo siguiente:
“Seleccionar la fila si un empleado es presidente (PRESIDENT) o vendedor (SALES) y gana más de 4000.”

Debe recordar que:


Puede sustituir el orden por defecto escribiendo entre paréntesis las expresiones que desee calcular en primer lugar.



Operadores Lógicos

Las operadores lógicos combinan el resultado de dos condiciones componentes para producir un resultado único basado en ellas o invierten el resultado de una única condición.

Se devuelve una fila sólo si el resultado global de la condición es verdadero.

En SQL están disponibles tres operadores lógicos:
• AND
• OR
• NOT

Puede utilizar varias condiciones en una cláusula WHERE utilizando los operadores AND y OR.

El Operador AND

  • En el ejemplo, las dos condiciones deben ser verdaderas para que se seleccione un registro.

Select empno, ename, job, sal From emp
Where sal >=1000 AND ename Like '%SC%';

http://liang.armstrong.edu:5560/isqlplus/

El Operador OR

  • En el ejemplo, cualquiera de las dos condiciones puede ser verdadera para que se seleccione un registro.

Select empno, ename, job, sal From emp
Where sal >=3000 OR ename Like '%M%';

El Operador NOT

  • El ejemplo nos muestra el apellido y el cargo de todos los empleados que no sean ANALYST, CLERK o SALESMAN.

Select ename, job From emp
Where job NOT In ('ANALYST', 'CLERK', 'SALESMAN');

Debe recordar que:


El operador NOT también se puede utilizar con otros operadores SQL, como IN, BETWEEN, LIKE y NULL.