Sei sulla pagina 1di 6

Tecnología de Base de Datos - 2006

Sentencias SQl básicas en Oracle

Sentencias SQL – Básicas en Oracle


Consulta de Datos

SELECT

Sintaxis básica:
SELECT * | {[DISTINCT] columna| expresión [ALIAS] FROM [ESQUEMA.] tabla
[WHERE condición/es]
[GROUP BY COLUMNA1,COLUMNA2,...
[HAVING CONDICION/ES]]
[ORDER BY columna1,columna2,.. [ASC|DESC]]

Expresiones:
Aritméticas:
+ Suma
- Resta
* Multiplicación
/ División

Ejemplo

Select last_name,salary,salary * 300 from employees

Condicionales

CASE exp WHEN exp_comparacion THEN exp_retorno


[WHEN exp_comparacion2 THEN exp_retorno2
WHEN exp_comparacionN THEN exp_retornoN
ELSE exp_else]
END

DECODE(col|expresión,comparacion1,resultado1
[comparacion2,resultado2
comparacion2,resultado3
,valorPorDefecto])
ejemplo

CASE
SELECT CASE job_id WHEN ‘IT_PROG’ THEN 1.10 * salary
WHEN ‘SA_REP’ THEN 1.15* salary
Alias
El alias es utilizado para renombrar la columna y debe estar entre comillas dobles.

Ejemplo
Select last_name “Apellido” ,salary,salary * 300 as “Aumento” from employees

Concatenación de Campos

Para concatenar columnas se utiliza el carácter ||

Eliminar Filas Duplicadas

Usando DISTINCT se elimina las filas duplicadas de la consulta

Pág.: 1
Tecnología de Base de Datos - 2006

Sentencias SQl básicas en Oracle

Mostrar La estructura de la tabla

DESC[RIBE] nombre_de_la_tabla

Limitando las filas seleccionadas


Usando la cláusula WHERE se limita la cantidad de filas que retorna la consulta.

Operadores:
= Igual a
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
<> Distinto de
between valor1 and valor2 Entre el valor1 y valor 2
in(valor1,valor2,...) igual a cualquiera de la lista de valores
like igual a un patrón
is null si es un valor null

Uso de Like
% Representa cualquier secuencia de caracteres.
- Representa un carácter simple.
Operadores Lógicos
AND
OR
NOT

Ordenar la Consulta
Para obtener el resultado ordenado se debe utilizar el ORDER BY

Funciones
Carácter
Función Descripción Ejemplo
Lower(columna| expresión) Convierta a minúscula el Select lower(apellido) from empleado
valor pasado
upper(columna| expresión) Convierta a mayúscula el Select upper(apellido) from empleado
valor pasado
InitCap(columna | expresión) Convierte a mayúscula la Select initcap(apelldio) from empleado
primera letra del valor
Substr(columna| Retorna la subcadena que se Select substr(apellido,1,1) from empleado
expresión,m[,n]) forma desde la posición m
hasta la posición n. Select substr(apellido,4) from empleado
Si el valor de n es omitido se
obtiene la cadena desde m
hasta el final de la misma
Length(columna|expresión) Retorna el número de Select apellido,length(apellido) from empleado
caracteres de la columna o
expresión select * from empleado where length(apellido) > 25
Instr(columna| Retorna la posición de la
expresión,’cadena’[,m][,n]) cadena pasada dentro de la Select apellido,instr(apellido,’R’) from empleado
columna o expresión.
Opcionalmente se le puede
pasar el valor m para
especificar donde comenzar a
buscar y el valor n que es la

Pág.: 2
Tecnología de Base de Datos - 2006

Sentencias SQl básicas en Oracle

ocurrencia de la cadena ( la
primera, la segunda, etc) que
se desea obtener

Pág.: 3
Tecnología de Base de Datos - 2006

Sentencias SQl básicas en Oracle

LPAD(columna| expresión, Completa a la Izquierda o a la Select rpad(apellido,250,’*’) from empleado


n,’cadena’) derecha con la cadena hasta
completa la longitud n
RPADP(columna| expresión,
n, ’cadena’)
Trim(columna|expresión) Elimina los espacios en Select trim(apellido) from empleado
blanco
Númericas
Función Descripción Ejemplo
Round(columna,expresion,n) Redondea la columna o Select apellido,round(salario * 1.10,2) from empleado
expresión a un valor de n
posiciones decimales, si n es
omitido entonces se redondea
a un valor sin decimales
Trunc(columna|expresion,n) Trunca el valor de la columna Select apellido,trunc(salario * 1.10,2) from empleado
o expresión a n posiciones
decimales, si n es omitido
entonces no ha posiciones
decimales
Mod(m,n) Retorna el resto de la división Select apellido,mod(salario,1000) from empleados
de m por n
Otras
Función Descripción Ejemplo
Nvl(columna,valor) Retorna la columna, si la Select apellido,nvl(id_jefe,0) from empleado
columna no tiene un valor
null, sino retorna valor

Pág.: 4
Tecnología de Base de Datos - 2006

Sentencias SQl básicas en Oracle

Obteniendo datos de múltiples Tablas.

Versiones anteriores de Oracle 9i Orcale 9i y posteriores


INNER JOIN NATURAL JOIN

select t1.columa,t2.columna SELECT t1.columna,t2.columna


from tabla1 t1, tabla2 t2 FROM tabla1 T1
where t1.columna = t2.columna[ and|or NATURAL JOIN tabla1 T2
t1.columna2 = t2.columna2,...]
JOIN con USING
LEFT JOIN SELECT t1.columna,t2.columna
FROM tabla1 T1
select t1.columa,t2.columna JOIN tabla1 T2 USING( columna)
from tabla1 t1, tabla2 t2
where t1.columna(+) = t2.columna [INNER] JOIN con ON

RIGHT JOIN SELECT t1.columna,t2.columna


FROM tabla1 T1
select t1.columa,t2.columna [INNER] JOIN tabla1 T2
from tabla1 t1, tabla2 t2 ON t1.columna = t2.columan[ AND|OR
where t1.columna = t2.columna (+) t1.columna2 = t2.columna2 ...]

LEFT JOIN

SELECT t1.columna,t2.columna
FROM tabla1 T1
LEFT JOIN tabla1 T2
ON t1.columna = t2.columan[ AND|
OR t1.columna2 = t2.columna2 ...]

RIGHT JOIN

SELECT t1.columna,t2.columna
FROM tabla1 T1
RIGHT JOIN tabla1 T2
ON t1.columna = t2.columan[ AND|OR
t1.columna2 = t2.columna2 ...]

Funciones de Grupos
Función Descripción Ejemplo
Avg([DISTINCT|ALL],n) Obtiene el promedio de los Select avg(salario) from empleado
valores, ignorando los nulos
Count({ * | [DISTINCT| Numero de filas donde expr Select count(id_empleado) from empleado
ALL] expr) no sea nulo
Max(DISTINCT|ALL],exp) El valor máximo de expr, Select max(salario) from empleado
ignora los valores nulos
Min(DISTINCT|ALL],exp) El valor mínimo de expr, Select min(salario) from empleado
ignora los valores nulos
Sum(DISTINCT|ALL],exp) La suma de exp, ignorando Select sum(salario) from empleado
los valores nulos

Pág.: 5
Tecnología de Base de Datos - 2006

Sentencias SQl básicas en Oracle

Bibliografía:

Introducción to Oracle9i: SQL. Intructor guide Volume 1. Nancy Greenberg,Priya Nathan. Oracle
Corporetion. 2000 – 2001.

Oracle / SQL Tutorial. Michel Gerts. Departament of Computer Science – University of California

Pág.: 6

Potrebbero piacerti anche