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 |