Está en la página 1de 28

Conceptos básicos de SQL y

ORACLE SQL* PLUS


Comando SELECT

SELECT [DISTINCT] {*, column [alias],...}


FROM table;

– SELECT identifica las columnas


– FROM identifica las tablas
Selección de líneas

SQL> SELECT *
2 FROM depto;

SQL> SELECT depto_num, depto_loc


2 FROM depto;

SQL> SELECT enome, sal, sal+300


2 FROM emp;

SQL> SELECT enome, sal, 12*sal+100


2 FROM emp;
Definiendo Alias para Columnas
SQL> SELECT enome AS nome, sal AS salario
2 FROM emp;

NOME SALARIO
------------- ---------
...

SQL> SELECT enome "Nome",


2 sal*12 “Salario Anual"
3 FROM emp;

Nome Salario Anual


------------- -------------
...
Eliminación de líneas duplicadas
– DISTINCT
SQL> SELECT DISTINCT depto_num
2 FROM emp;

DEPTO_NUM
---------
10
20
30
SQL

Restringindo consultas e
ordenando resultados
Utilizando la Cláusula WHERE
SQL> SELECT enome, cargo, depto_num
2 FROM emp
3 WHERE cargo='CAIXA';

ENOME CARGO DEPTO_NUM


---------- --------- ---------
RONALDO CAIXA 30
MANUEL CAIXA 20
PAULO CAIXA 20
LUCIANO CAIXA 10
Operadores de comparación
Operador Significado

= Igual a

> Mayor que

>= Mayor o igual a

< Menor que

<= Menor o igual a

<> Diferente de
Otros Operadores

Operador Significado

BETWEEN Entre dos valores (inclusive)


...AND...

IN(lista) Cumple una lista de valores

LIKE Cumple un patrón de caracteres

IS NULL Es un valor nulo (null)


Operador BETWEEN
SQL> SELECT enome, sal
2 FROM emp
3 WHERE sal BETWEEN 1000 AND 1500;

ENOME SAL
---------- --------- limite limite
MARIA 1250 inferior superior
SERGIO 1500
MATHEUS 1250
PAULO 1100
LUCIANO 1300
Operador IN
SQL> SELECT enum, enome, sal, ger
2 FROM emp
3 WHERE ger IN (7902, 7566, 7788);

ENUM ENOME SAL GER


--------- ---------- --------- ---------
7902 JOSE 3000 7566
7369 MANUEL 800 7902
7788 FABIO 3000 7566
7876 PAULO 1100 7788
Operador LIKE
– Utilice el operador LIKE para realizar
búsquedas por patrones (comodines).
• % reemplaza cero o más caracteres
• _ reemplaza un único carácter

SQL> SELECT enome


2 FROM emp
3 WHERE enome LIKE ‘M%';
Operador IS NULL
– Prueba de valores nulos(null)

SQL> SELECT enome, ger


2 FROM emp
3 WHERE ger IS NULL;

ENOME GER
---------- ---------
CARLOS
Operadores Lógicos

Operador Significado

AND Devuelve TRUE si la condición de


ambos componentes es TRUE
OR Devuelve TRUE si la condición de
uno de los componentes es TRUE

NOT Devuelve TRUE si la condición es


FALSE (vise-versa)
Operador NOT
SQL> SELECT enome, cargo
2 FROM emp
3 WHERE cargo NOT IN('CAIXA','GERENTE','ANALISTA');

ENOME CARGO
---------- ---------
CARLOS PRESIDENTE
MARIA VENDEDOR
CELSO VENDEDOR
SERGIO VENDEDOR
MATHEUS VENDEDOR
Cláusula ORDER BY

SQL> SELECT enome, cargo, depto_num, dtinicio


2 FROM emp
3 ORDER BY dtinicio DESC;

ENOME CARGO DEPTO_NUM DTINICIO


---------- --------- --------- ---------
PAULO CAIXA 20 12-JAN-83
FABIO ANALISTA 20 09-DEC-82
LUCIANO CAIXA 10 23-JAN-82
RONALDO CAIXA 30 03-DEC-81
JOSE ANALISTA 20 03-DEC-81
CARLOS PRESIDENTE 10 17-NOV-81
MARIA VENDEDOR 30 28-SEP-81
...
14 rows selected.
Viendo datos de varias tablas
Joins = unir
– Utilice una función para referirse a más de
una tabla.
SELECT table1.column, table2.column
FROM table1, table2
WHERE table1.column1 = table2.column2;

 Especifique la condición de unión en la


cláusula WHERE
– Escriba el nombre de la tabla junto con el
nombre de la columna, si las diferentes tablas
tienen columnas con los mismos nombres.
reando Alias para Tablas
SQL> SELECT emp.enum, emp.enome, emp.depto_num,
2 depto.depto_num, depto.depto_loc
3 FROM emp, depto
4 WHERE emp.depto_num = depto.depto_num;

SQL> SELECT e.enum, e.enome, e.depto_num,


2 d.depto_num, d.depto_loc
3 FROM emp e, depto d
4 WHERE e.depto_num = d.depto_num;
Manipulando dados
Comando INSERT

– Añadir filas a una tabla utilizando el


comando INSERT.
INSERT INTO table [(column [, column...])]
VALUES (value [, value...]);

– El comando INSERT inserta una sola fila


a la vez.
Inserción de Nuevas Líneas
– Inserte una nueva línea que indica los
valores de cada columna de la tabla.
– Valores de la lista en el mismo orden de
las columnas en la tabla.
– Opcionalmente, la lista de las columnas
de la cláusula INSERT.
SQL> INSERT INTO depto (depto_num, depto_nome, depto_loc)
2 VALUES (50, 'DESENVOLVIMENO', ‘RECIFE');
1 –row created.

– Cadenas y fechas deben ser entre


comillas simples.
Inserción de filas con Null
– Implícitamente: omitir el nombre de la
columna de la lista de columnas.
SQL> INSERT INTO depto (depto_num, depto_nome )
2 VALUES (60, ‘REC HUMANOS');
1 row created.

– Explícitamente, especifique el valor NULL.

SQL> INSERT INTO depto


2 VALUES (70, ‘JURIDICO', NULL);
1 row created.
Inserción de la fecha y hora del
sistema
– La función SYSDATE informa la fecha y
la hora actuales.

SQL> INSERT INTO emp (enum, enome, cargo,


2 ger, dtinicio, sal, comis,
3 depto_num)
4 VALUES (7196, ‘ANTONIO', ‘VENDEDOR',
5 7782, SYSDATE, 2000, NULL,
6 10);
1 row created.
Entrando fechas
– Adición de un nuevo empleado.
SQL> INSERT INTO emp
2 VALUES (2296,'ROMANO',‘VENDEDOR',7782,
3 TO_DATE(‘03-02-1997','DD-MM-YYYY'),
4 1300, NULL, 10);
1 row created.

– Comprobación de la fecha de admisión.


ENUM ENOME CARGO GER DTINICIO SAL COMIS DEPTO_NUM
---- ------- -------- ---- --------- ---- ----- ---------
2296 ROMANO VENDEDOR 7782 03-FEB-97 1300 10
Comando de ACTUALIZACIÓN
UPDATE
– Modificación de las líneas existentes con
el comando UPDATE.
UPDATE table
SET column = value [, column = value]
[WHERE condition];

– Modificar más de una línea a la vez


mediante la especificación de una
condición en la cláusula WHERE.

No olvide el COMMIT (acción de


comprometer)
Actualización de filas de una tabla
 Líneas específicas se pueden modificar
mediante la cláusula WHERE.
SQL> UPDATE emp
2 SET depto_num = 20
3 WHERE enum = 7782;
1 row updated.

– Todas las filas de la tabla se modifican si


la cláusula WHERE se omite.
SQL> UPDATE emp
2 SET depto_num = 20;
14 rows updated.
Eliminación de filas de una tabla
– Líneas específicas se pueden eliminar
utilizando la cláusula WHERE.
SQL> DELETE FROM depto
2 WHERE depto_nome = 'DESENVOLVIMENTO';
1 row deleted.

– Todas las filas de la tabla se eliminan si la


cláusula WHERE se omite.
SQL> DELETE FROM depto;
4 rows deleted.

También podría gustarte