Comandos Oracle – Primera Parte –

¿Conoces todos los comandos SQL de Oracle para hacer tus consultas? En este manual vamos a aprender a usar los más comunes. Entre ellos conoceremos los diferentes operadores que podemos utilizar, como eliminar filas duplicadas en nuestras consultas, funciones para trabajar con caracteres, fechas, funciones numéricas, de grupo, etc.

En posteriores entregas aprenderemos a crear tablas, usuarios, conceder permisos, modificar y eliminar columnas, etc.

Para acceder a la segunda parte haz clic en este enlace
Para acceder a la tercera parte haz clic en este enlace

Para acceder a la creación de funciones y procedimientos haz clic en este enlace

Introducción a consultas

Consultas simples:

SELECT campo FROM tabla;

Consulta simple con condición:

SELECT campo1, campo2, FROM tablaDeArticulos WHERE precio>10;

Consultas con subconsultas:

SELECT precio FROM tablaDeArticulos WHERE referencia = (SELECT referencia FROM tablaDeReferencias WHERE nombreArticulo =’ patinete ‘)

Operadores: +, -, *, /

12*(sal+100)

Alias: Renombra encabezado, pone nombres a las columnas resultantes de una consulta

{SELECT ename “Nombre trabajador”, sal “Salario” FROM trabajadores;}

Concatenación: “||” Concatena columnas o cadenas.

{SELECT ename||job “Empleados”;}

{SELECT ename ||’ es un ‘|| job “Detalles”;}

Filas Duplicadas: “distinct” no muestra duplicadas, despues de SELECT

{SELECT distinct deptno, job;}

Visualizar estructura completa de una tabla: desc

{desc dept;}

Ficheros:

sav[e] guarda consulta

{sav archiv.sql}

@ ejecuta consultas en fichero / sta[rt] ejecuta consultas en fichero

{@ arciv.sql}

ed[it] permite editar fichero

{ed archiv.sql}

ilumina2 photo

Operador WHERE: Restringe la consulta a las filas que cumple una condición

FROM emp WHERE job=’CLERK’ (CASE SENSITIVE!!)

Operadores comparación: =, >, >=, <, <=, <>

{SELECT campo FROM table WHERE salario>=200;}

{…WHERE hiredate < ’01-01-95′;}

{…WHERE hiredate > ’01-JAN-95′;}

Operadores comparación 2: BETWEEN..AND.., IN(list), LIKE, IS NULL

BETWEEN:

{… WHERE salario BETWEEN 100 AND 150;}

IN:

{mgr IN (7902, 7566);} {WHERE ename IN (‘FORD , ‘ALLEN’)}

LIKE: Comodin “%” representa 0 o N caracteres. Comodin “_” representa exactamente 1 caracter.

{…WHERE ename LIKE ‘_S%’}

ESCAPE: Interpreta “_” literal.

{…WHERE ename LIKE ‘%\_%’ ESCAPE ‘\’;}

IS NULL: Si un valor es nulo . Atencion, NULL! =0!!

{…WHERE mgr IS NULL;}

Operadores Lógicos: AND, OR, NOT

{…WHERE job NOT IN (‘CLERK’, ‘MANAGER’); job NOT LIKE ‘%A_’;}

Ordenar: “ORDER BY (columna/alias)”. Ordenar de forma ascendente o descendente: “ORDER BY (columna/alias) [ASC/DESC]”

ORDER BY hiredate desc; ORDER BY deptno, sal desc;

Funciones de caracteres:

LOWER/UPPER: Convierte a minusculas/mayúsculas

lower(JOB) -> job

ename=upper(‘blake’);

INITCAP: Primera letra mayusculas resto minusculas

Initcap(JOB) -> Job

CONCAT: Concatena (como “|”)

SUBSTR: Devuelve los caracteres seleccionados de una cadena de la cadena

LENGTH: Devuelve número caracteres

INSTR: Devuelve posición del caracter en la cadena

LPAD: Rellena cadena por la derecha con el car seleccionado

TRIM: Elimina caracteres del principio o del final

Funciones Numéricas:

Round: Redondea al decimal especificado

round(45.926, 2) -> 45.93

Trunc: Trunca en le decimal especificado

trunc(45.926, 2) -> 45.92

Mod: Devuelve el resto de la división

Mod(1600, 300) -> 100

Mod(sal, comm) -> Calcula el “RATIO”

Fechas:

sysdate: devuelve fecha y hora actual

num + fecha = fecha

fecha – num = fecha

fecha – fecha = dias

num/24 + fecha = agrega horas

{SELECT (sysdate-hiredate)/7 SEMANAS}

Conversión:

to_char: to_car(date, ‘fmt’), (hiredate, ‘fmDD’)

fm: elimina espacios en blanco

to_number: to_number(char)

to_date: Guarda datos en formato de fecha

to_date(char[, ‘fmt’])

to_date(’07/05/1984′)

SELECT to_char(sysdate,’MM’) FROM dual;

Elementos:

YYYY: Año numérico

YEAR: Año letras

MM: Mes numérico

MONTH: Mes letras

DY: Abreviatura 3 letras día

DAY: Nombre completo

Hora: HH24:MI:SS AM -> 15:45:32 PM

Añadir cars: DD “of” MONT -> 12 of October

Nº dia en letras: ddspth -> fourteenth

NVL: Convierte un nulo a un valor

nvl(comm, 0), nvl(job, ‘No Job’), nvl(hiredate,’01-JAN-97′)

{SELECT ename, nvl(to_car(mgr), ‘No Manager’) FROM emp;}

DECODE: Función de CASE

SELECT job, sal,

decode(job, ‘ANALYST’, sal*1.1, ‘CLERK’, sal*2, sal)

FROM emp;

Funciones de grupo:

AVG: Media

COUNT: Cantidad de filas

MAX: Valor maximo

MIN: Valor mimimo ignorando nulos

STDDEV: Desviación ignorando nulos

SUM: Suma de valores ignorando nulos

VARIANCE: Varianza ignorando nulos

NOTA: Se pueden utilizar sin aparecer en SELECT

SELECT deptno FROM emp GROUP BY deptno HAVING MAX(sal)>1

Para acceder a la segunda parte haz clic en este enlace
Para acceder a la tercera parte haz clic en este enlace

Anuncios

6 Responses to Comandos Oracle – Primera Parte –

  1. Ariel De León says:

    MUY BUENO COMANDOS

  2. Pingback: Instalación Oracle 11g en Linux « Aitor Rigada

  3. Pingback: Instalación Oracle 10g en Linux « Aitor Rigada

  4. bill says:

    esta de la ptmmmmmm..gracias…vales un peru…¡¡¡

  5. Pingback: Procedimientos y funciones en Oracle « Aitor Rigada

  6. 9fran9 says:

    Reblogueó esto en FranBlogYDe+.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: