SlideShare ist ein Scribd-Unternehmen logo
1 von 10
/*
Sesión05 – Manipulación de Datos
Estudiante: José Luis Toro Alcarraz
Curso: Base de Datos Avanzado II
Correo:i201010865@cibertec.edu.pe
*/
1) Introducción a SQL
2) Instrucciones DML y operadores
3) Funciones pre-definidas
4) Sub-consultas
5) Consultas multi-tabla
6) Practicando lo aprendido
1) Introducción a SQL
Oracle 11G SQL utiliza el SQL (Structured Query Language). Basado en estándares ANSI
(American National Standards Institute) e ISO (International Standards Organization).
Categorías:
DCL - Data Control Language
Utilizadas en el control de acceso a datos en la base de datos. Ejemplo: GRANT, REVOKE.
TCL - Transaction Control Language
Utilizadas para confirmar o restaurar transacciones que son un conjunto de sentencias SQL que se
completan o fallan como unidad. Ejemplo: COMMIT (Confirma las transacciones), ROLLBACK
(Desase las transacciones).
DDL - Data Definition Language
Utilizadas para crear, alterar o borrar objetos de la base de datos. Ejemplo: CREATE, ALTER,
DROP, RENAME.
DML - Data Manipulation Language
Utilizadas para consultar o actualizar los datos contenidos en tablas de una base de datos.
2) Instrucciones DML y operadores
Bueno en esta sesión nos basaremos en revisar las particularidades de las sentencias DML en
Oracle. Explotando al máximo las funciones predefinidas de Oracle.
Sentencias:
SELECT
Obtiene filas de tablas de base de datos.
SELECT [DISTINCT|ALL] lista_selección
FROM tabla [,tabla ...]
[WHERE condición(es)]
[GROUP BY expresión [,expresión]...]

INSERT
Agrega filas a una tabla de la base de datos.
INSERT [INTO] tabla
[lista de campos de tabla]
VALUES (lista de valores de datos)
ó
[HAVING condición]
[ORDER BY {columna, expresión}
{ASC|DESC}]

INSERT INTO tabla
Sentencia SELECT

UPDATE
Modifica filas de una tabla que cumplan
cláusula WHERE.
UPDATE tabla
SET columna = expresión
[, columna = expresión...]
[WHERE condición(es)]

DELETE
Borra filas identificadas por la cláusula
WHERE
DELETE FROM tabla
[WHERE condición(es)]

3) Funciones pre-definidas
Funciones de carácter
 LOWER, UPPER
 INITCAP
 CONCAT, SUBSTR
 LENGTH, INSTR
 LPAD, RPAD, TRIM
 CHR
 ASCII
 REPLACE

Funciones numérica
 ROUND, TRUNC
 CEIL, FLOOR
 MOD
 POWER
 SQRT
 ABS
 SIGN
 Funciones de grupo : AVG, COUNT,
SUM, MAX, MIN

Funciones de fecha
 SYSDATE
 ADD_MONTHS, MONTHS_BETWEEN
 NEXT_DAY, LAST_DAY
 ROUND, TRUNC

Funciones de conversión
 TO_DATE
 TO_CHAR
 TO_NUMBER
 NVL
 DECODE

4) Sub-consultas
Es una sentencia SELECT que se encuentra dentro de una cláusula de otra sentencia SELECT.
Tipos:
Sub-consultas de una fila
Sub-consultas de múltiples filas
Sub-consultas de múltiples columna
5) Consultas multi-tablas
JOIN: Utilizada para consultar datos de más de una tabla.
Tipos de Join:
Equijoin
Non-equijoin
Outer-join
Selfjoin
6) Ejemplos
a) Demostración de las sentencias
Primero conectemos como el usuario scott/tiger. Connect Scott/tiger.
SQL> connect scott/tiger
Conectado.
La sentencia SELECT permite obtener filas de las tablas de base de datos.
Ejemplo1: Muestra todas las tablas que pertenecen al usuario SCOTT.
SQL> SELECT TABLE_NAME FROM USER_TABLES;
TABLE_NAME
-----------------------------DEPT
BONUS
SALGRADE
EMP
CLIENTE
VENDEDOR
COMIDAS
FACTURA
DETALLE_FACTURA
CINE
SALA
11 filas seleccionadas.
Ejemplo2: Muestre todos los CONSTRAINTS a lo que puede acceder el usuario SCOTT.
SQL> SELECT CONSTRAINT_NAME, TABLE_NAME, SUBSTR(COLUMN_NAME,1,255)
FROM ALL_CONS_COLUMNS
WHERE TABLE_NAME='EMP';
CONSTRAINT_NAME
TABLE_NAME
SUBSTR(COLUMN_NAME,1,255)
------------------------------ ------------------------------ -------------------------------------------------------SYS_C0011162
EMP
EMPNO
Ejemplo3: Muestre todos los campos de la tabla empleado con la condición de que el cargo sea
manager y ordénelo por el nombre del empleado.
SQL> SELECT * FROM EMP WHERE JOB = 'MANAGER' ORDER BY ENAME;
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM
---------- ---------- --------- ---------- -------- ---------- ---------- ---------7698 BLAKE
MANAGER
7839 01/05/81
2850 30
7698 BLAKE
MANAGER
7839 01/05/81
2850 30

DEPTNO
7782 CLARK
7782 CLARK

MANAGER
MANAGER

7839 09/06/81
7839 09/06/81

2450
2450

10
10

4 filas seleccionadas.
Ejemplo4: Muestre todos los campos de la tabla empleado con la condición de que el código del
departamento sea 30 y ordénelo de forma descendiente por el nombre del empleado.
SQL> SELECT * FROM EMP WHERE DEPTNO = 30 ORDER BY ENAME DESC;
EMPNO ENAME
JOB
MGR HIREDATE
---------- ---------- --------- ---------- -------- ---------- ---------7521 WARD
SALESMAN
7698 22/02/81
7521 WARD
SALESMAN
7698 22/02/81
7844 TURNER SALESMAN
7698 08/09/81
7844 TURNER SALESMAN
7698 08/09/81
7654 MARTIN SALESMAN
7698 28/09/81
7654 MARTIN SALESMAN
7698 28/09/81
7698 BLAKE
MANAGER
7839 01/05/81
7698 BLAKE
MANAGER
7839 01/05/81
7499 ALLEN
SALESMAN
7698 20/02/81
7499 ALLEN
SALESMAN
7698 20/02/81

SAL
---------1250
1250
1500
1500
1250
1250
2850
2850
1600
1600

COMM

DEPTNO

500
500
0
0
1400
1400

30
30
30
30
30
30
30
30
300 30
300 30

10 filas seleccionadas.
Ejemplo5: Muestre el código del departamento y la cantidad de empleados por departamento.
SQL> SELECT DEPTNO, COUNT (EMPNO) AS CANTIDAD FROM EMP
GROUP BY DEPTNO;
DEPTNO CANTIDAD
---------- ---------30
10
10
4
Ejemplo6: Muestre el código y el nombre del departamento, y además la cantidad de empleados
por departamento.
SQL> SELECT E.DEPTNO,DNAME,COUNT(E.EMPNO) EMPLEADOS
FROM EMP E JOIN DEPT D
ON E.DEPTNO = D.DEPTNO
GROUP BY E.DEPTNO,DNAME;
DEPTNO DNAME
EMPLEADOS
---------- -------------- ---------10 ACCOUNTING
4
30 SALES
10
Ejemplo7: Muestre el código y el nombre del departamento, y además la cantidad de empleados
por departamento mayores o iguales a 4.
SQL> SELECT E.DEPTNO,DNAME,COUNT(E.EMPNO) EMPLEADOS
FROM EMP E JOIN DEPT D
ON E.DEPTNO = D.DEPTNO
GROUP BY E.DEPTNO,DNAME
HAVING COUNT (E.EMPNO)>=4;
DEPTNO DNAME
EMPLEADOS
---------- -------------- ---------30 SALES
10
La sentencia INSERT permite insertar varios registros en una tabla.
Ejemplo1: Insertar datos especificando únicamente los valores de los campo.
SQL> INSERT INTO DEPT
VALUES (50, 'MI AREA 1', 'LIMA' );
1 fila creada.
Ejemplo2: Insertar datos especificando todos los valores a ingresar.
SQL> INSERT INTO DEPT(DEPTNO, DNAME, LOC)
VALUES (60, 'MI AREA 2', 'LIMA' );
1 fila creada.
Ejemplo3: Insertar registros con una consulta select.
SQL> CREATE TABLE EJEMPLO
(
EMPNO NUMBER(4),
ENAME VARCHAR2(10)
);
Tabla creada.
SQL> INSERT INTO EJEMPLO(EMPNO,ENAME)
SELECT EMPNO,ENAME FROM EMP
WHERE COMM != 0;
6 filas creadas.
La sentencia UPDATE permite la actualización de uno o varios registros de una única tabla. Es
decir actualiza un campo de todos los registros como también actualiza varios campos de todos los
registros
Ejemplo1: Actualiza el saldo de los empleado en un 12% cuyo cargo sea manager.
SQL> UPDATE EMP
SET SAL= SAL * 1.2
WHERE JOB='MANAGER';
COMMIT;
Tabla modificada.
Ejemplo2: Actualiza el saldo de los empleado en 5000 y la comisión en 2000
SQL> UPDATE EMP
SET SAL= 5000,
COMM=1000;
COMMIT;
Tabla modificada.
La sentencia DELETE permite eliminar uno o más registros de una tabla, como también permite
eliminar un registro especifico.
Ejemplo1: Eliminar todos los registro de la tabla ejemplo.
SQL> DELETE FROM EJEMPLO;
6 filas suprimidas.
Ejemplo2: Eliminar los departamentos cuyo código sean 50 y 60.
SQL> DELETE FROM DEPT
WHERE DEPTNO >= 50 AND DEPTNO<=60;
2 filas suprimidas.
b) Demostración de las funciones de carácter.
Las funciones UPPER, LOWER, INITCAP reciben como parámetro una cadena cad.
UPPER(cad).LOWER(cad).INITCAP(cad).
Ejemplo: Muestre el nombre del empleado en Mayúscula, Minúscula y Letra capital.
SQL> SELECT UPPER(ENAME) MAYUSCULA, LOWER(ENAME) MINUSCULA,
INITCAP(ENAME) LETRACAPITAL FROM EMP;
MAYUSCULA MINUSCULA LETRACAPIT
---------------- -------------- ---------------ALLEN
allen
Allen
WARD
ward
Ward
MARTIN
martin Martin
BLAKE
blake
Blake
…
14 filas seleccionadas.
La función CONCAT recibe 2 parámetros. Devuelve cad1 concatenada con cad2. Esta función es
equivalente al operador ||. CONCAT(cad1,cad2).
Ejemplo: Concatena el nombre y el grado de los empleados.
SQL> SELECT CONCAT(ENAME,JOB), ENAME || '-' || JOB FROM EMP;
CONCAT(ENAME,JOB) ENAME||'-'||JOB
------------------- -------------------ALLENSALESMAN
ALLEN-SALESMAN
WARDSALESMAN
WARD-SALESMAN
MARTINSALESMAN
MARTIN-SALESMAN
BLAKEMANAGER
BLAKE-MANAGER
…
14 filas seleccionadas.
SQL> SELECT (CONCAT (CONCAT (ENAME,'-'), JOB)), ENAME || '-' || JOB FROM EMP;
Devuelve lo mismo.
La función SUBSTR permite extraer una porción de una cadena, para los cuáles recibe 3
parámetros. SUBSTR (cad, posicionInicial, nroCaracteres).
Nota: la primera posición de una cadena en Oracle es 1.
Ejemplo: Muestra los 3 primero caracteres de la columna nombre de la tabla empleados
SQL> SELECT SUBSTR(ENAME,1,3) FROM EMP;
SUB
--ALL
WAR
MAR
BLA
…
14 filas seleccionadas.
La función LENGTH recibe como parámetro una cadena cad devolviendo la longitud de dicha
cadena. LENGTH(cad)
Ejemplo: Devolver la longitud del campo nombre de la tabla empleados.
SQL> SELECT ENAME,LENGTH(ENAME) FROM EMP;
ENAME
---------ALLEN
WARD
MARTIN
BLAKE
…

LENGTH(ENAME)
------------5
4
6
5
14 filas seleccionadas.
La función INSTR recibe 2 parámetros y devuelve la posición de la segunda cadena dentro de la
primera. INSTR(cad1,cad2).
Ejemplo: Muestre la posición de ‘A’ dentro del nombre de los empleados.
SQL> SELECT ENAME, INSTR(ENAME,'A') FROM EMP;
ENAME
INSTR(ENAME,'A')
------------------------ALLEN
1
WARD
2
MARTIN
2
BLAKE
3
…
14 filas seleccionadas.
La función LPAD y RPAD reciben 3 parámetros.
Concatena por la izquierda LPAD devuelve cad1 con longitud n, y ajustada a la derecha,
rellenando por la izquierda con cad2. (cad1,n,cad2’).
Concatena por la derecha RPAD Devuelve cad1 con longitud n, y ajustada a la izquierda,
rellenando por la derecha con cad2. (cad1,n,cad2’).
SQL> SELECT LPAD(ENAME,20,'*'), RPAD(ENAME,20,'*') FROM EMP;
LPAD(ENAME,20,'*')
-------------------***************ALLEN
****************WARD
**************MARTIN
***************BLAKE
…
14 filas seleccionadas.

RPAD(ENAME,20,'*')
------------------ALLEN***************
WARD****************
MARTIN**************
BLAKE***************

La función CHR devuelve el carácter cuyo valor codificado es n. CHR(N).
SQL> SELECT CHR(65) FROM DUAL;
C
A
La función ASCII devuelve el valor ascii de cad.
SQL> SELECT ASCII('A') FROM DUAL;
ASCII('A')
---------65
La función REPLACE devuelve la cadena en la que cada ocurrencia de la cadena antigua ha sido
sustituida por la cadena nueva.
SQL> SELECT REPLACE('DIGO','I','IE') FROM DUAL;
REPLA
----DIEGO
c) Demostración de las funciones numéricas.
La función ROUND calcula el redondeo de m a n decimales. Si n<0 el redondeo se efectúa a por
la izquierda del punto decimal. ROUND(m,n).
SQL> SELECT ROUND(234.345,1) FROM DUAL;
ROUND(234.345,1)
---------------234,3
SQL> SELECT ROUND(234.345,0) FROM DUAL;
ROUND(234.345,0)
---------------234
La función TRUNC calcula m truncado a n decimales (n puede ser negativo). TRUNC(m.n).
SQL> SELECT TRUNC(123.456,1) FROM DUAL;
TRUNC(123.456,1)
---------------123,4
La función CEIL calcula el valor entero inmediatamente superior o igual a n (devuelve el entero
mayor mas próximo). CEIL(n).
SQL> SELECT CEIL(13.7) FROM DUAL;
CEIL(13.7)
---------14
La función FLOOR calcula el valor entero inmediatamente inferior o igual a n (el entero menor más
próximo). FLOOR(n).
SQL> SELECT FLOOR(13.7) FROM DUAL;
FLOOR(13.7)
----------13
La función MOD calcula el resto resultante de dividir m entre n. MOD(m,n).
SQL> SELECT MOD(15,2) FROM DUAL;
MOD(15,2)
---------1
La función ABS calcula el valor absoluto de n. ABS(n).
SQL> SELECT ABS(-15) FROM DUAL;
ABS(-15)
---------15
La función POWER Calcula la potencia n-esima de m. POWER(m,n).
SQL> SELECT POWER(3,2) FROM DUAL;
POWER(3,2)
---------9
La función SQRT calcula la raíz cuadrada de n. SQRT(n).
SQL> SELECT SQRT(4) FROM DUAL;
SQRT(4)
---------2
La función SIGN calcula el signo de n, devolviendo -1 si n<0, 0 si n=0 y 1 si n>0.
SQL> SELECT SIGN(-12) FROM DUAL;
SIGN(-12)
----------1

Weitere ähnliche Inhalte

Was ist angesagt?

Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)José Toro
 
Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)José Toro
 
Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)José Toro
 
Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)José Toro
 
Forms 10g procedimientos y cursores
Forms 10g procedimientos y cursoresForms 10g procedimientos y cursores
Forms 10g procedimientos y cursoresEdwin Romero
 
Curso Básico de Pl Sql Oracle
Curso Básico de Pl Sql OracleCurso Básico de Pl Sql Oracle
Curso Básico de Pl Sql Oracleluisguil
 
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM   TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM Kamisutra
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sqlDeisyVilchez
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejerciciostestgrupocomex
 
Oracle pl sql
Oracle pl sqlOracle pl sql
Oracle pl sqlclaudia_m
 
Transact sql
Transact sqlTransact sql
Transact sqljoan
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizBolivar Castillo
 

Was ist angesagt? (20)

Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)Sesión03 - Creación de objetos (Oracle)
Sesión03 - Creación de objetos (Oracle)
 
Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)Sesión12 - Trigger (Oracle)
Sesión12 - Trigger (Oracle)
 
Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)Sesión02 - Creación de objetos (Oracle)
Sesión02 - Creación de objetos (Oracle)
 
Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)Sesión04 - Diccionario de datos (Oracle)
Sesión04 - Diccionario de datos (Oracle)
 
Forms 10g procedimientos y cursores
Forms 10g procedimientos y cursoresForms 10g procedimientos y cursores
Forms 10g procedimientos y cursores
 
Curso Básico de Pl Sql Oracle
Curso Básico de Pl Sql OracleCurso Básico de Pl Sql Oracle
Curso Básico de Pl Sql Oracle
 
7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
 
Cap I Plsql
Cap I PlsqlCap I Plsql
Cap I Plsql
 
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM   TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
 
Plsql y paquetes
Plsql y paquetesPlsql y paquetes
Plsql y paquetes
 
Lenguaje transact sql
Lenguaje transact sqlLenguaje transact sql
Lenguaje transact sql
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
Oracle pl sql
Oracle pl sqlOracle pl sql
Oracle pl sql
 
Apunte plsql
Apunte plsqlApunte plsql
Apunte plsql
 
Pl Sql
Pl SqlPl Sql
Pl Sql
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
SQL
SQLSQL
SQL
 
Disparadores
DisparadoresDisparadores
Disparadores
 
Transact sql
Transact sqlTransact sql
Transact sql
 
Comandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-lizComandos del-ddl-y-del-dml-liz
Comandos del-ddl-y-del-dml-liz
 

Andere mochten auch

Andere mochten auch (13)

Sesión01 - Gestión de instancia (Oracle)
Sesión01 - Gestión de instancia (Oracle)Sesión01 - Gestión de instancia (Oracle)
Sesión01 - Gestión de instancia (Oracle)
 
Sesión14 – Archivos redologs (Oracle)
Sesión14 – Archivos redologs (Oracle)Sesión14 – Archivos redologs (Oracle)
Sesión14 – Archivos redologs (Oracle)
 
Sesión13 - Archivos de Control (Oracle)
Sesión13 - Archivos de Control (Oracle)Sesión13 - Archivos de Control (Oracle)
Sesión13 - Archivos de Control (Oracle)
 
Curso SQL - Leccion 12
Curso SQL - Leccion 12Curso SQL - Leccion 12
Curso SQL - Leccion 12
 
Curso Oracle11g Lenguaje PL/SQL Avanzado
Curso Oracle11g Lenguaje PL/SQL AvanzadoCurso Oracle11g Lenguaje PL/SQL Avanzado
Curso Oracle11g Lenguaje PL/SQL Avanzado
 
Leccion 8 - Consultas Compuestas
Leccion 8 - Consultas CompuestasLeccion 8 - Consultas Compuestas
Leccion 8 - Consultas Compuestas
 
Curso SQL - Leccion 11
Curso SQL - Leccion 11Curso SQL - Leccion 11
Curso SQL - Leccion 11
 
Manipulacion de Datos SQL cap10
Manipulacion de Datos SQL cap10Manipulacion de Datos SQL cap10
Manipulacion de Datos SQL cap10
 
Curso SQL - Leccion 8
Curso SQL - Leccion 8Curso SQL - Leccion 8
Curso SQL - Leccion 8
 
PostgreSQL - Lección 10 - Vistas
PostgreSQL - Lección 10 - VistasPostgreSQL - Lección 10 - Vistas
PostgreSQL - Lección 10 - Vistas
 
Consultas anidadas o subconsultas oracle
Consultas  anidadas o subconsultas oracleConsultas  anidadas o subconsultas oracle
Consultas anidadas o subconsultas oracle
 
Oracle
OracleOracle
Oracle
 
Oracle
OracleOracle
Oracle
 

Ähnlich wie Sesion05 - Manipulacion de datos (Oracle)

Ähnlich wie Sesion05 - Manipulacion de datos (Oracle) (20)

8 Guía_Fundamentos de Base de Datos (2).docx
8 Guía_Fundamentos de Base de Datos (2).docx8 Guía_Fundamentos de Base de Datos (2).docx
8 Guía_Fundamentos de Base de Datos (2).docx
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
 
Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
 
Precentacion de sql visual
Precentacion de sql visualPrecentacion de sql visual
Precentacion de sql visual
 
Tuning fondo-negro-2
Tuning fondo-negro-2Tuning fondo-negro-2
Tuning fondo-negro-2
 
Parte 08 my sql
Parte 08 my sqlParte 08 my sql
Parte 08 my sql
 
Manualitosqlserver
ManualitosqlserverManualitosqlserver
Manualitosqlserver
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddl
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddl
 
Textos sqli_mssql
 Textos sqli_mssql Textos sqli_mssql
Textos sqli_mssql
 
CURSORES
CURSORESCURSORES
CURSORES
 
CURSORES
CURSORESCURSORES
CURSORES
 
Expo
ExpoExpo
Expo
 
1.2.2 incorporando sentencias dml y funciones sql a bloques plsql
1.2.2 incorporando sentencias dml y funciones sql a bloques plsql1.2.2 incorporando sentencias dml y funciones sql a bloques plsql
1.2.2 incorporando sentencias dml y funciones sql a bloques plsql
 
Attachment
AttachmentAttachment
Attachment
 
Presentacións Sql mejorado
Presentacións Sql mejoradoPresentacións Sql mejorado
Presentacións Sql mejorado
 
Introduccion ddl
Introduccion ddlIntroduccion ddl
Introduccion ddl
 
Comandos mysql
Comandos mysqlComandos mysql
Comandos mysql
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 

Kürzlich hochgeladen

Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 

Kürzlich hochgeladen (20)

Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 

Sesion05 - Manipulacion de datos (Oracle)

  • 1. /* Sesión05 – Manipulación de Datos Estudiante: José Luis Toro Alcarraz Curso: Base de Datos Avanzado II Correo:i201010865@cibertec.edu.pe */ 1) Introducción a SQL 2) Instrucciones DML y operadores 3) Funciones pre-definidas 4) Sub-consultas 5) Consultas multi-tabla 6) Practicando lo aprendido 1) Introducción a SQL Oracle 11G SQL utiliza el SQL (Structured Query Language). Basado en estándares ANSI (American National Standards Institute) e ISO (International Standards Organization). Categorías: DCL - Data Control Language Utilizadas en el control de acceso a datos en la base de datos. Ejemplo: GRANT, REVOKE. TCL - Transaction Control Language Utilizadas para confirmar o restaurar transacciones que son un conjunto de sentencias SQL que se completan o fallan como unidad. Ejemplo: COMMIT (Confirma las transacciones), ROLLBACK (Desase las transacciones). DDL - Data Definition Language Utilizadas para crear, alterar o borrar objetos de la base de datos. Ejemplo: CREATE, ALTER, DROP, RENAME. DML - Data Manipulation Language Utilizadas para consultar o actualizar los datos contenidos en tablas de una base de datos. 2) Instrucciones DML y operadores Bueno en esta sesión nos basaremos en revisar las particularidades de las sentencias DML en Oracle. Explotando al máximo las funciones predefinidas de Oracle. Sentencias: SELECT Obtiene filas de tablas de base de datos. SELECT [DISTINCT|ALL] lista_selección FROM tabla [,tabla ...] [WHERE condición(es)] [GROUP BY expresión [,expresión]...] INSERT Agrega filas a una tabla de la base de datos. INSERT [INTO] tabla [lista de campos de tabla] VALUES (lista de valores de datos) ó
  • 2. [HAVING condición] [ORDER BY {columna, expresión} {ASC|DESC}] INSERT INTO tabla Sentencia SELECT UPDATE Modifica filas de una tabla que cumplan cláusula WHERE. UPDATE tabla SET columna = expresión [, columna = expresión...] [WHERE condición(es)] DELETE Borra filas identificadas por la cláusula WHERE DELETE FROM tabla [WHERE condición(es)] 3) Funciones pre-definidas Funciones de carácter  LOWER, UPPER  INITCAP  CONCAT, SUBSTR  LENGTH, INSTR  LPAD, RPAD, TRIM  CHR  ASCII  REPLACE Funciones numérica  ROUND, TRUNC  CEIL, FLOOR  MOD  POWER  SQRT  ABS  SIGN  Funciones de grupo : AVG, COUNT, SUM, MAX, MIN Funciones de fecha  SYSDATE  ADD_MONTHS, MONTHS_BETWEEN  NEXT_DAY, LAST_DAY  ROUND, TRUNC Funciones de conversión  TO_DATE  TO_CHAR  TO_NUMBER  NVL  DECODE 4) Sub-consultas Es una sentencia SELECT que se encuentra dentro de una cláusula de otra sentencia SELECT. Tipos: Sub-consultas de una fila Sub-consultas de múltiples filas Sub-consultas de múltiples columna 5) Consultas multi-tablas JOIN: Utilizada para consultar datos de más de una tabla. Tipos de Join: Equijoin Non-equijoin Outer-join Selfjoin
  • 3. 6) Ejemplos a) Demostración de las sentencias Primero conectemos como el usuario scott/tiger. Connect Scott/tiger. SQL> connect scott/tiger Conectado. La sentencia SELECT permite obtener filas de las tablas de base de datos. Ejemplo1: Muestra todas las tablas que pertenecen al usuario SCOTT. SQL> SELECT TABLE_NAME FROM USER_TABLES; TABLE_NAME -----------------------------DEPT BONUS SALGRADE EMP CLIENTE VENDEDOR COMIDAS FACTURA DETALLE_FACTURA CINE SALA 11 filas seleccionadas. Ejemplo2: Muestre todos los CONSTRAINTS a lo que puede acceder el usuario SCOTT. SQL> SELECT CONSTRAINT_NAME, TABLE_NAME, SUBSTR(COLUMN_NAME,1,255) FROM ALL_CONS_COLUMNS WHERE TABLE_NAME='EMP'; CONSTRAINT_NAME TABLE_NAME SUBSTR(COLUMN_NAME,1,255) ------------------------------ ------------------------------ -------------------------------------------------------SYS_C0011162 EMP EMPNO Ejemplo3: Muestre todos los campos de la tabla empleado con la condición de que el cargo sea manager y ordénelo por el nombre del empleado. SQL> SELECT * FROM EMP WHERE JOB = 'MANAGER' ORDER BY ENAME; EMPNO ENAME JOB MGR HIREDATE SAL COMM ---------- ---------- --------- ---------- -------- ---------- ---------- ---------7698 BLAKE MANAGER 7839 01/05/81 2850 30 7698 BLAKE MANAGER 7839 01/05/81 2850 30 DEPTNO
  • 4. 7782 CLARK 7782 CLARK MANAGER MANAGER 7839 09/06/81 7839 09/06/81 2450 2450 10 10 4 filas seleccionadas. Ejemplo4: Muestre todos los campos de la tabla empleado con la condición de que el código del departamento sea 30 y ordénelo de forma descendiente por el nombre del empleado. SQL> SELECT * FROM EMP WHERE DEPTNO = 30 ORDER BY ENAME DESC; EMPNO ENAME JOB MGR HIREDATE ---------- ---------- --------- ---------- -------- ---------- ---------7521 WARD SALESMAN 7698 22/02/81 7521 WARD SALESMAN 7698 22/02/81 7844 TURNER SALESMAN 7698 08/09/81 7844 TURNER SALESMAN 7698 08/09/81 7654 MARTIN SALESMAN 7698 28/09/81 7654 MARTIN SALESMAN 7698 28/09/81 7698 BLAKE MANAGER 7839 01/05/81 7698 BLAKE MANAGER 7839 01/05/81 7499 ALLEN SALESMAN 7698 20/02/81 7499 ALLEN SALESMAN 7698 20/02/81 SAL ---------1250 1250 1500 1500 1250 1250 2850 2850 1600 1600 COMM DEPTNO 500 500 0 0 1400 1400 30 30 30 30 30 30 30 30 300 30 300 30 10 filas seleccionadas. Ejemplo5: Muestre el código del departamento y la cantidad de empleados por departamento. SQL> SELECT DEPTNO, COUNT (EMPNO) AS CANTIDAD FROM EMP GROUP BY DEPTNO; DEPTNO CANTIDAD ---------- ---------30 10 10 4 Ejemplo6: Muestre el código y el nombre del departamento, y además la cantidad de empleados por departamento. SQL> SELECT E.DEPTNO,DNAME,COUNT(E.EMPNO) EMPLEADOS FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO GROUP BY E.DEPTNO,DNAME; DEPTNO DNAME EMPLEADOS ---------- -------------- ---------10 ACCOUNTING 4 30 SALES 10
  • 5. Ejemplo7: Muestre el código y el nombre del departamento, y además la cantidad de empleados por departamento mayores o iguales a 4. SQL> SELECT E.DEPTNO,DNAME,COUNT(E.EMPNO) EMPLEADOS FROM EMP E JOIN DEPT D ON E.DEPTNO = D.DEPTNO GROUP BY E.DEPTNO,DNAME HAVING COUNT (E.EMPNO)>=4; DEPTNO DNAME EMPLEADOS ---------- -------------- ---------30 SALES 10 La sentencia INSERT permite insertar varios registros en una tabla. Ejemplo1: Insertar datos especificando únicamente los valores de los campo. SQL> INSERT INTO DEPT VALUES (50, 'MI AREA 1', 'LIMA' ); 1 fila creada. Ejemplo2: Insertar datos especificando todos los valores a ingresar. SQL> INSERT INTO DEPT(DEPTNO, DNAME, LOC) VALUES (60, 'MI AREA 2', 'LIMA' ); 1 fila creada. Ejemplo3: Insertar registros con una consulta select. SQL> CREATE TABLE EJEMPLO ( EMPNO NUMBER(4), ENAME VARCHAR2(10) ); Tabla creada. SQL> INSERT INTO EJEMPLO(EMPNO,ENAME) SELECT EMPNO,ENAME FROM EMP WHERE COMM != 0; 6 filas creadas. La sentencia UPDATE permite la actualización de uno o varios registros de una única tabla. Es decir actualiza un campo de todos los registros como también actualiza varios campos de todos los registros
  • 6. Ejemplo1: Actualiza el saldo de los empleado en un 12% cuyo cargo sea manager. SQL> UPDATE EMP SET SAL= SAL * 1.2 WHERE JOB='MANAGER'; COMMIT; Tabla modificada. Ejemplo2: Actualiza el saldo de los empleado en 5000 y la comisión en 2000 SQL> UPDATE EMP SET SAL= 5000, COMM=1000; COMMIT; Tabla modificada. La sentencia DELETE permite eliminar uno o más registros de una tabla, como también permite eliminar un registro especifico. Ejemplo1: Eliminar todos los registro de la tabla ejemplo. SQL> DELETE FROM EJEMPLO; 6 filas suprimidas. Ejemplo2: Eliminar los departamentos cuyo código sean 50 y 60. SQL> DELETE FROM DEPT WHERE DEPTNO >= 50 AND DEPTNO<=60; 2 filas suprimidas. b) Demostración de las funciones de carácter. Las funciones UPPER, LOWER, INITCAP reciben como parámetro una cadena cad. UPPER(cad).LOWER(cad).INITCAP(cad). Ejemplo: Muestre el nombre del empleado en Mayúscula, Minúscula y Letra capital. SQL> SELECT UPPER(ENAME) MAYUSCULA, LOWER(ENAME) MINUSCULA, INITCAP(ENAME) LETRACAPITAL FROM EMP; MAYUSCULA MINUSCULA LETRACAPIT ---------------- -------------- ---------------ALLEN allen Allen WARD ward Ward MARTIN martin Martin BLAKE blake Blake …
  • 7. 14 filas seleccionadas. La función CONCAT recibe 2 parámetros. Devuelve cad1 concatenada con cad2. Esta función es equivalente al operador ||. CONCAT(cad1,cad2). Ejemplo: Concatena el nombre y el grado de los empleados. SQL> SELECT CONCAT(ENAME,JOB), ENAME || '-' || JOB FROM EMP; CONCAT(ENAME,JOB) ENAME||'-'||JOB ------------------- -------------------ALLENSALESMAN ALLEN-SALESMAN WARDSALESMAN WARD-SALESMAN MARTINSALESMAN MARTIN-SALESMAN BLAKEMANAGER BLAKE-MANAGER … 14 filas seleccionadas. SQL> SELECT (CONCAT (CONCAT (ENAME,'-'), JOB)), ENAME || '-' || JOB FROM EMP; Devuelve lo mismo. La función SUBSTR permite extraer una porción de una cadena, para los cuáles recibe 3 parámetros. SUBSTR (cad, posicionInicial, nroCaracteres). Nota: la primera posición de una cadena en Oracle es 1. Ejemplo: Muestra los 3 primero caracteres de la columna nombre de la tabla empleados SQL> SELECT SUBSTR(ENAME,1,3) FROM EMP; SUB --ALL WAR MAR BLA … 14 filas seleccionadas. La función LENGTH recibe como parámetro una cadena cad devolviendo la longitud de dicha cadena. LENGTH(cad) Ejemplo: Devolver la longitud del campo nombre de la tabla empleados. SQL> SELECT ENAME,LENGTH(ENAME) FROM EMP; ENAME ---------ALLEN WARD MARTIN BLAKE … LENGTH(ENAME) ------------5 4 6 5
  • 8. 14 filas seleccionadas. La función INSTR recibe 2 parámetros y devuelve la posición de la segunda cadena dentro de la primera. INSTR(cad1,cad2). Ejemplo: Muestre la posición de ‘A’ dentro del nombre de los empleados. SQL> SELECT ENAME, INSTR(ENAME,'A') FROM EMP; ENAME INSTR(ENAME,'A') ------------------------ALLEN 1 WARD 2 MARTIN 2 BLAKE 3 … 14 filas seleccionadas. La función LPAD y RPAD reciben 3 parámetros. Concatena por la izquierda LPAD devuelve cad1 con longitud n, y ajustada a la derecha, rellenando por la izquierda con cad2. (cad1,n,cad2’). Concatena por la derecha RPAD Devuelve cad1 con longitud n, y ajustada a la izquierda, rellenando por la derecha con cad2. (cad1,n,cad2’). SQL> SELECT LPAD(ENAME,20,'*'), RPAD(ENAME,20,'*') FROM EMP; LPAD(ENAME,20,'*') -------------------***************ALLEN ****************WARD **************MARTIN ***************BLAKE … 14 filas seleccionadas. RPAD(ENAME,20,'*') ------------------ALLEN*************** WARD**************** MARTIN************** BLAKE*************** La función CHR devuelve el carácter cuyo valor codificado es n. CHR(N). SQL> SELECT CHR(65) FROM DUAL; C A La función ASCII devuelve el valor ascii de cad. SQL> SELECT ASCII('A') FROM DUAL; ASCII('A') ---------65
  • 9. La función REPLACE devuelve la cadena en la que cada ocurrencia de la cadena antigua ha sido sustituida por la cadena nueva. SQL> SELECT REPLACE('DIGO','I','IE') FROM DUAL; REPLA ----DIEGO c) Demostración de las funciones numéricas. La función ROUND calcula el redondeo de m a n decimales. Si n<0 el redondeo se efectúa a por la izquierda del punto decimal. ROUND(m,n). SQL> SELECT ROUND(234.345,1) FROM DUAL; ROUND(234.345,1) ---------------234,3 SQL> SELECT ROUND(234.345,0) FROM DUAL; ROUND(234.345,0) ---------------234 La función TRUNC calcula m truncado a n decimales (n puede ser negativo). TRUNC(m.n). SQL> SELECT TRUNC(123.456,1) FROM DUAL; TRUNC(123.456,1) ---------------123,4 La función CEIL calcula el valor entero inmediatamente superior o igual a n (devuelve el entero mayor mas próximo). CEIL(n). SQL> SELECT CEIL(13.7) FROM DUAL; CEIL(13.7) ---------14 La función FLOOR calcula el valor entero inmediatamente inferior o igual a n (el entero menor más próximo). FLOOR(n). SQL> SELECT FLOOR(13.7) FROM DUAL;
  • 10. FLOOR(13.7) ----------13 La función MOD calcula el resto resultante de dividir m entre n. MOD(m,n). SQL> SELECT MOD(15,2) FROM DUAL; MOD(15,2) ---------1 La función ABS calcula el valor absoluto de n. ABS(n). SQL> SELECT ABS(-15) FROM DUAL; ABS(-15) ---------15 La función POWER Calcula la potencia n-esima de m. POWER(m,n). SQL> SELECT POWER(3,2) FROM DUAL; POWER(3,2) ---------9 La función SQRT calcula la raíz cuadrada de n. SQRT(n). SQL> SELECT SQRT(4) FROM DUAL; SQRT(4) ---------2 La función SIGN calcula el signo de n, devolviendo -1 si n<0, 0 si n=0 y 1 si n>0. SQL> SELECT SIGN(-12) FROM DUAL; SIGN(-12) ----------1