Operadores SQL
Los operadores permiten enfocar la búsqueda vinculando términos de selección y definiendo la relación entre ellos.
Oracle reconoce los siguientes operadores:
Estos operadores nos permiten, básicamente, hacer cualquier operación aritmética, que necesitemos (ejemplo: suma, resta, multiplicación, etc). En la siguiente tabla se muestran los operadores de los que disponemos en Oracle y su función asociada.
Operador
|
Operación
|
Ejemplo
|
+ |
Suma
|
SELECT nombreEmpleado, salario + comision FROM Empleado WHERE oficio = ‘VENDEDOR’;
|
– |
Resta
|
SELECT nombreEmpleado FROM Empleado WHERE sysdate – fecha_alta > 365;
|
* |
Producto
|
SELECT nombreEmpleado, salario*12 «Salario Anual» FROM Empleado;
|
/ |
División
|
SELECT nombreEmpleado, TO_CHAR(salario/ 30,’999,999.99′) FROM «Empleado»
|
MOD (m, n) | Módulo | Devuelve el resto resultante de dividir «m» entre «n». |
Operadores de Cadenas de Carácteres
Operador
|
Operación
|
Ejemplo
|
|| | Concatenación | SELECT nombreEmpleado||oficio FROM Empleado; |
Los operadores booleanos o lógicos (AND, NOT, OR, XOR) localizan registros que contienen los terminos coincidentes en uno de los campos especificados o en todos los campos especificados. Utilizar operadores booleanos para conectar palabras o frases entre más de un campo de texto, o utilizar operadores booleanos para conectar palabras o frases dentro de un campo de texto.
AND | Y lógico |
OR | O lógico |
XOR | OR exclusivo |
NOT | Negación |
Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el resultado de la comparación es correcto la expresión considerada es verdadera, en caso contrario es falsa.
Operador
|
Operación
|
Ejemplo
|
= |
Igualdad
|
SELECT * FROM empleado
WHERE idDepartamento = 100; |
!=, <>, ^= |
Desigualdad
|
SELECT * FROM empleado
WHERE idDepartamento != 100 |
< |
Menor que
|
SELECT * FROM empleado
WHERE idDepartamento < 200; |
> |
Mayor que
|
SELECT * FROM empleado
WHERE idDepartamento > 200; |
<= |
Menor o igual que
|
SELECT * FROM empleado
WHERE idDepartamento <= 200; |
>= |
Mayor o igual que
|
SELECT * FROM empleado
WHERE idDepartamento >= 200; |
in |
Igual a cualquiera de los miembros entre paréntesis
|
SELECT * FROM Empleado
WHERE idDepartamento in (100, 300); |
not in |
Distinto a cualquiera de los miembros entre paréntesis
|
SELECT * FROM Empleado
WHERE idDepartamento not in (200); |
between |
Contenido en el rango
|
SELECT * FROM Empleado
WHERE idDepartamento between 100 and 200; |
not between |
Fuera del rango
|
SELECT * FROM Empleado
WHERE idDepartamento not between 100 and 200; |
like ‘_abc%’ |
Contiene la cadena ‘abc’ a partir del segundo carácter y luego cualquier cadena de carácteres
|
SELECT * FROM Empleado |