SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
UNIVERSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION
FACULTAD DE INGENIERIA INDUSTRIAL,
SISTEMAS E INFORMATICA
ESCUELA ACADEMICO PROFESIONAL DE
INGENIERIA INFORMATICA
CURSO
BASE DE DATOS II
ORACLE 11g - IMPLEMENTACION
SEPARATA Nº 01
INSTALACION – CONSULTAS BASICAS
DOCENTE
ING. CIP EDWIN IVAN FARRO PACIFICO
HUACHO-LIMA
PERU
Universidad Nacional José Faustino Sánchez Carrión
Mg Ing Edwin Iván Farro Pacífico Pag. 2
SQL*PLUS
Concepto
Es una herramienta sencilla herramienta de desarrollo de PL/SQL que permite al usuario
ingresar instrucciones SQL y bloques PL/SQL de forma interactiva mediante una línea de
comandos. Dichas instrucciones se envían a la base de datos directamente, y los resultados se
devuelven en pantalla.
Es un entorno en modo texto y no contiene un motor de PL/SQL local.
Las instrucciones de SQL*Plus no son sensibles a la diferencia entre mayúsculas y minúsculas.
Iniciar SQL*Plus
Comenzaremos realizando la conexión a la base de datos mediante Inicio/Programas/Oracle-
OraHome92/Application Development/Sql Plus. Se obtiene la pantalla Conectar en cuyo campo
Usuario tecleamos scott y en cuyo campo Clave digite tiger. Al presionar Acetar produce la
conexión con la instancia ORACLE de la base de datos, que era la instancia creada por defecto
cuando se realizó la instalación.
Universidad Nacional José Faustino Sánchez Carrión
Mg Ing Edwin Iván Farro Pacífico Pag. 3
Base de datos oracle
LENGUANE DE MANIPULACION DE DATOS
Comando SELECT
El comando se utiliza en ORACLE 9i para seleccionar información de la base de datos como un
conjunto de registros.
Sintaxis:
SELECT [predicado] campo1 [As alias],campo2 [As alias],campo3 [As alias],...
FROM expresión
WHERE
[GROUP BY...]
[HAVING...]
[ORDER BY...]
Predicado Uno de los siguientes predicados: ALL, DISTINCT, DISTINCT ROW o
TOP. Puede utilizar el predicado para limitar el número de registros
devueltos.
* Especifica que se seleccionan todos los campos de la tabla o tablas
especificadas.
Tabla El nombre de la tabla que contiene los campos de la que se van a
seleccionar los registros.
campo1,campo2,...:
campo1,campo2,… Los nombres de los campos que contienen los datos que desea recuperar.
Si incluye más de un campo, estos se recuperan en el orden enumerado.
Alias1, alias2 Los nombres que se van a utilizar como encabezados de columnas en vez
de los nombres de columnas originales en la tabla.
expresiónTabla El nombre de la tabla o tablas que contienen los datos que desea
recuperar
Universidad Nacional José Faustino Sánchez Carrión
Mg Ing Edwin Iván Farro Pacífico Pag. 4
baseDatosExterna El nombre de la base de datos que contiene las tablas en expresiónTabla
si no están en la base de datos activa.
Ejercicio 01
Mediante una sentencia de tipo SELECT presentar todas las tablas de la base de datos instalada
por defecto en Oracle 9i para el usuario scott.
SQL> select TABLE_NAME from user_tables;
TABLE_NAME
------------------------------
Ejercicio
Mostrar la estructura de cada tabla mostrada.
SQL> DESC bonus;
Nombre ¿Nulo? Tipo
----------------------------------------- -------- ----------------------------
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
SAL NUMBER
COMM NUMBER
SQL> DESC dept;
Nombre ¿Nulo? Tipo
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)
SQL> DESC emp;
Nombre ¿Nulo? Tipo
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
Universidad Nacional José Faustino Sánchez Carrión
Mg Ing Edwin Iván Farro Pacífico Pag. 5
SQL> DESC salgrade;
Nombre ¿Nulo? Tipo
----------------------------------------- -------- ----------------------------
GRADE NUMBER
LOSAL NUMBER
HISAL NUMBER
Ejercicio
Mostrar el contenido de cada tabla
SQL> SELECT * FROM dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
Forma 1
SQL>SELECT * FROM dept;
Forma 2
SQL>SELECT deptno,dname,loc FROM dep.;
Cláusula DISTINCT
Muestra los valores únicos de una columna, es decir valores no repetidos.
Ejercicio
Mostrar todos los cargos diferentes de la tabla emp.
SQL>SELECT DISTINCT job FROM emp;
Definición de cabeceras.
Ejercicio
Mostrar todos los cargos distintos que existen en la tabla dept poniéndole el alias de Cargos.
SQL>SELECT DISTINCT JOB Cargos FROM emp;
Universidad Nacional José Faustino Sánchez Carrión
Mg Ing Edwin Iván Farro Pacífico Pag. 6
Cláusula WHERE
Es utilizada para establecer una o más condiciones.
Operadores de comparación
= Igual a
!= ,<>,^= Diferente
> Mayor que
>= Mayor o igual a
< Menor que
<= Menor o igual a
BEETWEEN a AND b Entre a y b
IN Igual a cualquier elemento de la lista
IS NULL Es un valor nulo
LIKE Busca un patrón de caracteres
Ejercicio
Mostrar el nombre del empleado, el cargo y el salario de todos los empleados que no sean
analistas.
SQL> SELECT ename,job FROM emp
2 WHERE job<>'ANALYST';
Valores Nulos (NULL)
Un valor nulo significa “Valor desconocido u omitido”. No significa cero ni blanco. Muchas
expresiones tomarán el valor de NULL si uno de os operandos lo es.
Ejercicio
Mostrar todos los empleados cuya comisión es nula.
SQL> SELECT ename,comm FROM emp
2 WHERE comm IS NULL;
Ejercicio
Mostrar nombre, cargo, salario, comisión, salario+comisión
SQL> SELECT ename,job,sal,comm,sal+comm "Salario + Comm"
2 FROM emp;
Función NVL
Sintaxis:
NVL(Expr1,Expr2)
Propósito
Si el valor de Expr1 es NULL, LA FUNCIÓN DEVUELVE Expr2; si no, devuelve Expr1.
Universidad Nacional José Faustino Sánchez Carrión
Mg Ing Edwin Iván Farro Pacífico Pag. 7
Ejemplo
Mostrar nombre, cargo, salario, comisión, salario+comisión de todos los empleados que trabajan
en el departamento 30. Si la comisión es nula mostrar 0.
select ename,job,sal,nvl(comm,0),sal+nvl(COMM,0),deptno
from emp
where deptno=30
Caracteres comodines
Son utilizados con el operador LIKE; y son los siguientes:
% : Reemplaza a un conjunto de caracteres en cualquier posición de una cadena
_ : Reemplaza a un solo carácter en una posición específica de una cadena.
Ejemplo
Mostrar todos los empleados cuyo nombre empiece con J.
SQL> SELECT ename FROM emp
2 WHERE ename LIKE 'J%';
Ejemplo
Mostrar todos los empleados cuya tercera letra de su nombre sea la R.
SQL> SELECT ename FROM emp
2 WHERE ename LIKE '__R%';
Expresiones Lógicas
Con la cláusula WHERE se pueden seleccionar filas de una tabla con más de una condición de
búsqueda. Estas condiciones de búsqueda se pueden unir por medio de expresiones lógicas:
AND y OR.
Ejemplo:
Mostrar el nombre, cargo y el salario de todos los Gerentes o Vendedores cuyo sueldo este entre
2000 y 3000.
SELECT ename,job,sal
FROM emp
WHERE job='MANAGER' OR JOB='SALESMAN'
AND sal BETWEEN 2000 AND 3000
Cláusula ORDER BY
Permite Ordenar:
 Ascendentemente
 Descendentemenete
 Por múltiples columnas
 Por la posición de las columnas
Universidad Nacional José Faustino Sánchez Carrión
Mg Ing Edwin Iván Farro Pacífico Pag. 8
Ejemplo (Ascendente)
Mostrar el nombre, el cargo y el salario de todos los empleados que trabajen en e departamento
20 ordenados ascendentemente por salario.
SQL> SELECT ename,job,sal FROM emp
2 WHERE deptno=20
3 ORDER BY sal;
Ejemplo (Descendente)
Mostrar el nombre, cargo y el salario de todos los empelados que trabajen en el departamento 10
ordenados descendentemente por salario.
SQL> SELECT ename,job,sal FROM emp
2 WHERE deptno=10
3 ORDER BY sal;
Ejemplo (Por múltiples columnas)
Mostrar el nombre, el cargo y el salario de todos los empleados; ordenando el resultado
ascendentemente por cargo, si existe mas de un empleado con el mismo cargo ordenarlos de
forma descendente por salario.
SQL> SELECT ename,job,sal
2 FROM emp
Ejemplo (Por la posición de las columnas)
Mostrar el nombre del empleado, el cargo y el salario de todos los empleados del departamento
20 ordenados ascendentemente por salario.
SQL> SELECT ename,job,sal
2 FROM emp
3 WHERE deptno=20
4 ORDER BY 3;
FUNCIONES DE CARACTER
Nombre Descripción
UPPER Convierte texto a mayúscula
LOWER Convierte texto a minúscula
INITCAP Primera letra a mayúscula y luego a minúscula
CONCAT Une dos o más campos
SUBSTR Extrae caracteres de una cadena
LENGHT Devuelve la longitud de una cadena
INSTR Busca un carácter y devuelve su posición
LPAD Convierte un número a carácter, le dan un tamaño y lo llena con un carácter que se
indique.
RPAD Realiza lo mismo por la derecha
TRIM Borra espacios en blanco
Universidad Nacional José Faustino Sánchez Carrión
Mg Ing Edwin Iván Farro Pacífico Pag. 9
Ejercicio
Listar los nombres de los empleados en minúscula
SELECT LOWER(ename)
FROM emp
Ejercicio
Listar los nombres de los empleados con la primera letra en mayúscula
SELECT INITCAP(ename)
FROM emp;
Ejercicio
Listar juntos el cargo y nombre del empleado
SELECT CONCAT(ename,job)
FROM emp
Ó
Listar juntos el cargo y nombre del empleado, con un espacio entre ambos campos
SELECT CONCAT(ename,job)
FROM emp
Ejercicio
Devolver la longitud de cada nombre de la tabla empleado
SELECT LENGTH(ename)
FROM EMP;
Ejercicio
Devolver la posición de la letra A de cada nombre.
SQL> SELECT INSTR(ename,'A')
2 FROM emp;
Ejercicio
SQL> SELECT LPAD(sal,20,'_')
2 FROM emp;
Ejercicio
SELECT LENGTH(ename)
FROM emp
Ejercicio
SQL> SELECT TRIM('A' FROM ename)
2 FROM emp;
Universidad Nacional José Faustino Sánchez Carrión
Mg Ing Edwin Iván Farro Pacífico Pag. 10
FUNCIONES NUMERICAS
ROUND
Ejercicio
SQL>SELECT ROUND(45.926,2) FROM dual;
TRUNC
Ejercicio
SQL>SELECT TRUNC(45.926,2) FROM dual;
MOD
Ejercicio
SQL>SELECT MOD(10,3) FROM dual;
CEIL
Siguiente número entero
Ejercicio
SQL>SELECT CEIL(10.4) FROM dual;
FLOOR
Al número entero anterior
Ejercicio
SQL>SELECT FLOOR(10.4) FROM dual;
POWER
Potencia
Ejercicio
SQL> SQL> SELECT POWER(2,3) FROM dual;
FUNCIONES DE FECHA
Ejercicio
Visualizar la el nombre y fecha del 23/05/87
SQL> select ename,hiredate
2 from emp
3 where hiredate='23/05/87';
Ejercicio
Mostrar fecha del sistema.
SQL> select sysdate from dual;
Ejercicio
Sumar 90 días a la fecha de hoy.
SQL> SELECT sysdate+90 FROM dual;
Ejercicio
Universidad Nacional José Faustino Sánchez Carrión
Mg Ing Edwin Iván Farro Pacífico Pag. 11
Cuantas semanas pasaron desde el 01/01/2005 hasta hoy
SQL> select months_between(sysdate,'01/01/05')
2 from dual;
Ejercicio
Imprimir el día siguiente
SQL> select last_day('29/04/05')
2 from dual;
Ejercicio
Imprimir la próxima fecha a 6 meses de la actual
SQL> select add_months('30/04/05',6)
2 from dual;
Ejemplo
Imprimir el campo fecha en formato de fecha larga
SQL> select hiredate,to_char(hiredate,'day dd month yyyy') as Fecha
2 from emp;
Para imprimir los dígitos con formato de moneda, debe ser convertido a texto y tener en cuenta
lo siguiente;
Elemento Descripción
9 Número
0 Obliga a mostrar un cero
$ Coloca un sigo de dólar flotante
L Símbolo de moneda por defecto
. Imprime un decimal
, Imprime separador de miles
Ejemplo
Imprimir el campo sal con prefijote $
SQL> select sal,to_char(sal,'$999,999.00')
2 from emp;
CASE
Ejemplo
Imprimir el sueldo de cada empleado con las siguientes modificaciones :
President 30
Manager 25
Clerk 20
Salesman 15
Universidad Nacional José Faustino Sánchez Carrión
Mg Ing Edwin Iván Farro Pacífico Pag. 12
SQL> select ename,job,case job
2 when 'president' then sal*1.3
3 when 'manager' then sal*1.25
4 when 'clerk' then sal*1.2
5 when 'salesman' then sal*1.15
6 else
7 sal*1.1
8 end as "Nuevo sueldo"
9 from emp;
DECODE
Ejemplo
Repetir el ejercicio anterior usando DECODE
SQL> select ename,job,
2 decode (job,
3 'president',sal*1.3,
4 'manager',sal*1.25,
5 'clerk', sal*1.2,
6 'salesman',sal*1.15,
7 sal*1.1) as "Nuevo Sueldo"
8 from emp;
DICCIONARIO DE DATOS
El diccionario de datos es un conjunto de tablas y vistas que contiene información descriptiva
sobre las tablas, privilegios de acceso y otras características de la base de datos.
Las tablas del diccionario de datos se crean por el archivo sql.bsq mientras se crea la base de
datos. Es la fuente central de información tanto paa el servidor ORACLE como para los
administradores y usuarios de la misma. Se ctualiza por el sevidor ORACLE, siempre que un
comando DDL es ejecutado.
El diccionario de datos está localizado en el tablespace SYSTEM del que es propietario el
usuario SYS.
Tablas del diccionario más frecuentemente usadas por los usuarios:
USER_CATALOG Tablas, vistas, sinónimos y secuencias pertenecientes al usuario.
USER_CONSTRINTS Información sobre los constraints en las Tablas de usuario.
USER_INDEXES Información sobre los índices de los Usuarios.
USER_SEQUENCES Información de los secuencias del usuario.
USER_SYNONIMOUS Información de los sinónimos del usuario.
USER_TABLES Información de las tablas del usuario.
USER_USERS Información sobre el usuario actual.
USER_VIEWS Información sobre las vistas del usuario.
ALL_TABLES Información de todas las tablas accesibles al usuario.
Ejemplo
Mostrar todas las tablas del usuario.
SQL> SELECT table_name FROM user_tables;
Universidad Nacional José Faustino Sánchez Carrión
Mg Ing Edwin Iván Farro Pacífico Pag. 13
Edición del Buffer
El contenido del buffer puede editarse no solamente con el editor sino también con comandos de
SQL *PLUS.
Ejemplo
Mostrar el nombre, el cargo y el salario de los empleados del departamento 20.
SQL> SELECT ename,job,sal
2 FROM emp
3 WHERE depto=20;
WHERE depto=20
*
ERROR en línea 3:
ORA-00904: "DEPTO": identificador no válido
Colocamos el puntero del buffer en la línea donde ocurrió el error para corregirlo.
SQL> 3 WHERE deptno=20
SQL> /
Ejemplo
Cambie el salario por la comisión
SQL> 1
1* SELECT ename,job,sal
SQL> c/sal/comm
1* SELECT ename,job,comm
SQL> /
Ejemplo
Añada la columna del manager a la línea actual con el comando APPEND
SQL> 1
1* SELECT ename,job,comm
SQL> A,mgr
1* SELECT ename,job,comm,mgr
SQL> /
Ejemplo
Borre la línea 3 utilizando el commando DEL
SQL>3
3* WHERE deptno=20
SQL>DEL
SQL>/
VARIABLES EN SQL*PLUS
En SQL*PLUS se pueden definir variables utilizables fuera del propio programa. Una variable en
SQL*Plus puede asimilarse a una columna de una tabla con una sóla fila de datos. Las variables,
Universidad Nacional José Faustino Sánchez Carrión
Mg Ing Edwin Iván Farro Pacífico Pag. 14
igual que las columnas de bases de las tablas, tienen asignado un tipo de dato (numérico,
carácter,….y contienen datos. Las variables se definen utilizando el comando DEFINE, mediante
la sintaxis:
DEFINE nombre_de_la_variable=’valor_de_la_variable”
Las variables definidas previamente pueden utilizarse en la ejecución de consultas precediendo
el nombre de la variable del signo & y encerrándolo entre comillas simples.
Ejemplo
Visualizar los empleados del departamento 30
SQL> select ename,job,deptno
2 from emp
3 where deptno='&v';
Variables de sustitución
Visualizar el promedio de los sueldos más altos y más bajos de la tabla nivel salarial de los
empleados (salgrade) utilizando variables de sustitución.
SQL> select avg(&alto) "Prom. sueldos altos",
2 avg(&bajo) "Prom. sueldos bajos"
3 from salgrade;
Si se desea que las variables almacenen el valor una sóla vez deben estar precedido del doble
signos && y antes de ejecutar eliminarlas con indefine nombre_variable.
SQL>undefine alto;
SQL>undefine bajo;
SQL> select avg(&&alto) "Prom. sueldos altos",
2 avg(&&bajo) "Prom. sueldos bajos"
3 from salgrade;

Más contenido relacionado

La actualidad más candente

Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014Henry Cambal
 
Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)Martin Murciego
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Sergio Sanchez
 
Base de Datos Bim II SQL Manipulacion de Datos
Base de Datos Bim II SQL Manipulacion de DatosBase de Datos Bim II SQL Manipulacion de Datos
Base de Datos Bim II SQL Manipulacion de DatosVideoconferencias UTPL
 
Oracle pl sql
Oracle pl sqlOracle pl sql
Oracle pl sqlclaudia_m
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Sergio Sanchez
 
USO DE SENTECIAS SQL
USO DE SENTECIAS SQLUSO DE SENTECIAS SQL
USO DE SENTECIAS SQLJorge Porras
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasclaudia contreras
 
Práctica sql server [fbdr]
Práctica sql server [fbdr]Práctica sql server [fbdr]
Práctica sql server [fbdr]TelexFREE
 
Sql y programacion en access 2010
Sql y programacion en access 2010Sql y programacion en access 2010
Sql y programacion en access 2010Juanito Edgar
 
Sql comamdo
Sql comamdoSql comamdo
Sql comamdodmonges
 

La actualidad más candente (18)

Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
 
Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)Tutorial Teorico-Practico Sql server 2000 (233 paginas)
Tutorial Teorico-Practico Sql server 2000 (233 paginas)
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
 
ADA 4
ADA 4ADA 4
ADA 4
 
Sentencias sql
Sentencias sqlSentencias sql
Sentencias sql
 
Tutorial bd y php
Tutorial bd y phpTutorial bd y php
Tutorial bd y php
 
Base de Datos Bim II SQL Manipulacion de Datos
Base de Datos Bim II SQL Manipulacion de DatosBase de Datos Bim II SQL Manipulacion de Datos
Base de Datos Bim II SQL Manipulacion de Datos
 
Oracle pl sql
Oracle pl sqlOracle pl sql
Oracle pl sql
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Operaciones basicas de sql
Operaciones basicas de sqlOperaciones basicas de sql
Operaciones basicas de sql
 
Consultas base de datos en SQL
Consultas base de datos en SQLConsultas base de datos en SQL
Consultas base de datos en SQL
 
USO DE SENTECIAS SQL
USO DE SENTECIAS SQLUSO DE SENTECIAS SQL
USO DE SENTECIAS SQL
 
Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
Práctica sql server [fbdr]
Práctica sql server [fbdr]Práctica sql server [fbdr]
Práctica sql server [fbdr]
 
Sql2
Sql2Sql2
Sql2
 
Tarea 8 consultas
Tarea 8 consultasTarea 8 consultas
Tarea 8 consultas
 
Sql y programacion en access 2010
Sql y programacion en access 2010Sql y programacion en access 2010
Sql y programacion en access 2010
 
Sql comamdo
Sql comamdoSql comamdo
Sql comamdo
 

Similar a Oracle sep 01 (20)

Consultas sql 2014
Consultas sql 2014Consultas sql 2014
Consultas sql 2014
 
Comandos SQL
Comandos SQLComandos SQL
Comandos SQL
 
Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)Sesion05 - Manipulacion de datos (Oracle)
Sesion05 - Manipulacion de datos (Oracle)
 
Resumen sql-oracle
Resumen sql-oracleResumen sql-oracle
Resumen sql-oracle
 
BD_L8_EXP_ROZIC_CAP9_SQL
BD_L8_EXP_ROZIC_CAP9_SQLBD_L8_EXP_ROZIC_CAP9_SQL
BD_L8_EXP_ROZIC_CAP9_SQL
 
Sql Basico
Sql BasicoSql Basico
Sql Basico
 
Tutorial sql
Tutorial sqlTutorial sql
Tutorial sql
 
Sql2
Sql2Sql2
Sql2
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
Command oracle
Command oracleCommand oracle
Command oracle
 
Sql básico - compendio
Sql básico  - compendioSql básico  - compendio
Sql básico - compendio
 
Consultas basicas en sql server
Consultas basicas en sql serverConsultas basicas en sql server
Consultas basicas en sql server
 
Consultas select
Consultas selectConsultas select
Consultas select
 
Consultas select
Consultas selectConsultas select
Consultas select
 
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
 
Select
SelectSelect
Select
 
Sentencias Sql
Sentencias SqlSentencias Sql
Sentencias Sql
 
SQL-b.pdf
SQL-b.pdfSQL-b.pdf
SQL-b.pdf
 
Sql b
Sql bSql b
Sql b
 
Unidad iii dql
Unidad iii dqlUnidad iii dql
Unidad iii dql
 

Oracle sep 01

  • 1. UNIVERSIDAD NACIONAL JOSE FAUSTINO SANCHEZ CARRION FACULTAD DE INGENIERIA INDUSTRIAL, SISTEMAS E INFORMATICA ESCUELA ACADEMICO PROFESIONAL DE INGENIERIA INFORMATICA CURSO BASE DE DATOS II ORACLE 11g - IMPLEMENTACION SEPARATA Nº 01 INSTALACION – CONSULTAS BASICAS DOCENTE ING. CIP EDWIN IVAN FARRO PACIFICO HUACHO-LIMA PERU
  • 2. Universidad Nacional José Faustino Sánchez Carrión Mg Ing Edwin Iván Farro Pacífico Pag. 2 SQL*PLUS Concepto Es una herramienta sencilla herramienta de desarrollo de PL/SQL que permite al usuario ingresar instrucciones SQL y bloques PL/SQL de forma interactiva mediante una línea de comandos. Dichas instrucciones se envían a la base de datos directamente, y los resultados se devuelven en pantalla. Es un entorno en modo texto y no contiene un motor de PL/SQL local. Las instrucciones de SQL*Plus no son sensibles a la diferencia entre mayúsculas y minúsculas. Iniciar SQL*Plus Comenzaremos realizando la conexión a la base de datos mediante Inicio/Programas/Oracle- OraHome92/Application Development/Sql Plus. Se obtiene la pantalla Conectar en cuyo campo Usuario tecleamos scott y en cuyo campo Clave digite tiger. Al presionar Acetar produce la conexión con la instancia ORACLE de la base de datos, que era la instancia creada por defecto cuando se realizó la instalación.
  • 3. Universidad Nacional José Faustino Sánchez Carrión Mg Ing Edwin Iván Farro Pacífico Pag. 3 Base de datos oracle LENGUANE DE MANIPULACION DE DATOS Comando SELECT El comando se utiliza en ORACLE 9i para seleccionar información de la base de datos como un conjunto de registros. Sintaxis: SELECT [predicado] campo1 [As alias],campo2 [As alias],campo3 [As alias],... FROM expresión WHERE [GROUP BY...] [HAVING...] [ORDER BY...] Predicado Uno de los siguientes predicados: ALL, DISTINCT, DISTINCT ROW o TOP. Puede utilizar el predicado para limitar el número de registros devueltos. * Especifica que se seleccionan todos los campos de la tabla o tablas especificadas. Tabla El nombre de la tabla que contiene los campos de la que se van a seleccionar los registros. campo1,campo2,...: campo1,campo2,… Los nombres de los campos que contienen los datos que desea recuperar. Si incluye más de un campo, estos se recuperan en el orden enumerado. Alias1, alias2 Los nombres que se van a utilizar como encabezados de columnas en vez de los nombres de columnas originales en la tabla. expresiónTabla El nombre de la tabla o tablas que contienen los datos que desea recuperar
  • 4. Universidad Nacional José Faustino Sánchez Carrión Mg Ing Edwin Iván Farro Pacífico Pag. 4 baseDatosExterna El nombre de la base de datos que contiene las tablas en expresiónTabla si no están en la base de datos activa. Ejercicio 01 Mediante una sentencia de tipo SELECT presentar todas las tablas de la base de datos instalada por defecto en Oracle 9i para el usuario scott. SQL> select TABLE_NAME from user_tables; TABLE_NAME ------------------------------ Ejercicio Mostrar la estructura de cada tabla mostrada. SQL> DESC bonus; Nombre ¿Nulo? Tipo ----------------------------------------- -------- ---------------------------- ENAME VARCHAR2(10) JOB VARCHAR2(9) SAL NUMBER COMM NUMBER SQL> DESC dept; Nombre ¿Nulo? Tipo ----------------------------------------- -------- ---------------------------- DEPTNO NOT NULL NUMBER(2) DNAME VARCHAR2(14) LOC VARCHAR2(13) SQL> DESC emp; Nombre ¿Nulo? Tipo ----------------------------------------- -------- ---------------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2)
  • 5. Universidad Nacional José Faustino Sánchez Carrión Mg Ing Edwin Iván Farro Pacífico Pag. 5 SQL> DESC salgrade; Nombre ¿Nulo? Tipo ----------------------------------------- -------- ---------------------------- GRADE NUMBER LOSAL NUMBER HISAL NUMBER Ejercicio Mostrar el contenido de cada tabla SQL> SELECT * FROM dept; DEPTNO DNAME LOC ---------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON Forma 1 SQL>SELECT * FROM dept; Forma 2 SQL>SELECT deptno,dname,loc FROM dep.; Cláusula DISTINCT Muestra los valores únicos de una columna, es decir valores no repetidos. Ejercicio Mostrar todos los cargos diferentes de la tabla emp. SQL>SELECT DISTINCT job FROM emp; Definición de cabeceras. Ejercicio Mostrar todos los cargos distintos que existen en la tabla dept poniéndole el alias de Cargos. SQL>SELECT DISTINCT JOB Cargos FROM emp;
  • 6. Universidad Nacional José Faustino Sánchez Carrión Mg Ing Edwin Iván Farro Pacífico Pag. 6 Cláusula WHERE Es utilizada para establecer una o más condiciones. Operadores de comparación = Igual a != ,<>,^= Diferente > Mayor que >= Mayor o igual a < Menor que <= Menor o igual a BEETWEEN a AND b Entre a y b IN Igual a cualquier elemento de la lista IS NULL Es un valor nulo LIKE Busca un patrón de caracteres Ejercicio Mostrar el nombre del empleado, el cargo y el salario de todos los empleados que no sean analistas. SQL> SELECT ename,job FROM emp 2 WHERE job<>'ANALYST'; Valores Nulos (NULL) Un valor nulo significa “Valor desconocido u omitido”. No significa cero ni blanco. Muchas expresiones tomarán el valor de NULL si uno de os operandos lo es. Ejercicio Mostrar todos los empleados cuya comisión es nula. SQL> SELECT ename,comm FROM emp 2 WHERE comm IS NULL; Ejercicio Mostrar nombre, cargo, salario, comisión, salario+comisión SQL> SELECT ename,job,sal,comm,sal+comm "Salario + Comm" 2 FROM emp; Función NVL Sintaxis: NVL(Expr1,Expr2) Propósito Si el valor de Expr1 es NULL, LA FUNCIÓN DEVUELVE Expr2; si no, devuelve Expr1.
  • 7. Universidad Nacional José Faustino Sánchez Carrión Mg Ing Edwin Iván Farro Pacífico Pag. 7 Ejemplo Mostrar nombre, cargo, salario, comisión, salario+comisión de todos los empleados que trabajan en el departamento 30. Si la comisión es nula mostrar 0. select ename,job,sal,nvl(comm,0),sal+nvl(COMM,0),deptno from emp where deptno=30 Caracteres comodines Son utilizados con el operador LIKE; y son los siguientes: % : Reemplaza a un conjunto de caracteres en cualquier posición de una cadena _ : Reemplaza a un solo carácter en una posición específica de una cadena. Ejemplo Mostrar todos los empleados cuyo nombre empiece con J. SQL> SELECT ename FROM emp 2 WHERE ename LIKE 'J%'; Ejemplo Mostrar todos los empleados cuya tercera letra de su nombre sea la R. SQL> SELECT ename FROM emp 2 WHERE ename LIKE '__R%'; Expresiones Lógicas Con la cláusula WHERE se pueden seleccionar filas de una tabla con más de una condición de búsqueda. Estas condiciones de búsqueda se pueden unir por medio de expresiones lógicas: AND y OR. Ejemplo: Mostrar el nombre, cargo y el salario de todos los Gerentes o Vendedores cuyo sueldo este entre 2000 y 3000. SELECT ename,job,sal FROM emp WHERE job='MANAGER' OR JOB='SALESMAN' AND sal BETWEEN 2000 AND 3000 Cláusula ORDER BY Permite Ordenar:  Ascendentemente  Descendentemenete  Por múltiples columnas  Por la posición de las columnas
  • 8. Universidad Nacional José Faustino Sánchez Carrión Mg Ing Edwin Iván Farro Pacífico Pag. 8 Ejemplo (Ascendente) Mostrar el nombre, el cargo y el salario de todos los empleados que trabajen en e departamento 20 ordenados ascendentemente por salario. SQL> SELECT ename,job,sal FROM emp 2 WHERE deptno=20 3 ORDER BY sal; Ejemplo (Descendente) Mostrar el nombre, cargo y el salario de todos los empelados que trabajen en el departamento 10 ordenados descendentemente por salario. SQL> SELECT ename,job,sal FROM emp 2 WHERE deptno=10 3 ORDER BY sal; Ejemplo (Por múltiples columnas) Mostrar el nombre, el cargo y el salario de todos los empleados; ordenando el resultado ascendentemente por cargo, si existe mas de un empleado con el mismo cargo ordenarlos de forma descendente por salario. SQL> SELECT ename,job,sal 2 FROM emp Ejemplo (Por la posición de las columnas) Mostrar el nombre del empleado, el cargo y el salario de todos los empleados del departamento 20 ordenados ascendentemente por salario. SQL> SELECT ename,job,sal 2 FROM emp 3 WHERE deptno=20 4 ORDER BY 3; FUNCIONES DE CARACTER Nombre Descripción UPPER Convierte texto a mayúscula LOWER Convierte texto a minúscula INITCAP Primera letra a mayúscula y luego a minúscula CONCAT Une dos o más campos SUBSTR Extrae caracteres de una cadena LENGHT Devuelve la longitud de una cadena INSTR Busca un carácter y devuelve su posición LPAD Convierte un número a carácter, le dan un tamaño y lo llena con un carácter que se indique. RPAD Realiza lo mismo por la derecha TRIM Borra espacios en blanco
  • 9. Universidad Nacional José Faustino Sánchez Carrión Mg Ing Edwin Iván Farro Pacífico Pag. 9 Ejercicio Listar los nombres de los empleados en minúscula SELECT LOWER(ename) FROM emp Ejercicio Listar los nombres de los empleados con la primera letra en mayúscula SELECT INITCAP(ename) FROM emp; Ejercicio Listar juntos el cargo y nombre del empleado SELECT CONCAT(ename,job) FROM emp Ó Listar juntos el cargo y nombre del empleado, con un espacio entre ambos campos SELECT CONCAT(ename,job) FROM emp Ejercicio Devolver la longitud de cada nombre de la tabla empleado SELECT LENGTH(ename) FROM EMP; Ejercicio Devolver la posición de la letra A de cada nombre. SQL> SELECT INSTR(ename,'A') 2 FROM emp; Ejercicio SQL> SELECT LPAD(sal,20,'_') 2 FROM emp; Ejercicio SELECT LENGTH(ename) FROM emp Ejercicio SQL> SELECT TRIM('A' FROM ename) 2 FROM emp;
  • 10. Universidad Nacional José Faustino Sánchez Carrión Mg Ing Edwin Iván Farro Pacífico Pag. 10 FUNCIONES NUMERICAS ROUND Ejercicio SQL>SELECT ROUND(45.926,2) FROM dual; TRUNC Ejercicio SQL>SELECT TRUNC(45.926,2) FROM dual; MOD Ejercicio SQL>SELECT MOD(10,3) FROM dual; CEIL Siguiente número entero Ejercicio SQL>SELECT CEIL(10.4) FROM dual; FLOOR Al número entero anterior Ejercicio SQL>SELECT FLOOR(10.4) FROM dual; POWER Potencia Ejercicio SQL> SQL> SELECT POWER(2,3) FROM dual; FUNCIONES DE FECHA Ejercicio Visualizar la el nombre y fecha del 23/05/87 SQL> select ename,hiredate 2 from emp 3 where hiredate='23/05/87'; Ejercicio Mostrar fecha del sistema. SQL> select sysdate from dual; Ejercicio Sumar 90 días a la fecha de hoy. SQL> SELECT sysdate+90 FROM dual; Ejercicio
  • 11. Universidad Nacional José Faustino Sánchez Carrión Mg Ing Edwin Iván Farro Pacífico Pag. 11 Cuantas semanas pasaron desde el 01/01/2005 hasta hoy SQL> select months_between(sysdate,'01/01/05') 2 from dual; Ejercicio Imprimir el día siguiente SQL> select last_day('29/04/05') 2 from dual; Ejercicio Imprimir la próxima fecha a 6 meses de la actual SQL> select add_months('30/04/05',6) 2 from dual; Ejemplo Imprimir el campo fecha en formato de fecha larga SQL> select hiredate,to_char(hiredate,'day dd month yyyy') as Fecha 2 from emp; Para imprimir los dígitos con formato de moneda, debe ser convertido a texto y tener en cuenta lo siguiente; Elemento Descripción 9 Número 0 Obliga a mostrar un cero $ Coloca un sigo de dólar flotante L Símbolo de moneda por defecto . Imprime un decimal , Imprime separador de miles Ejemplo Imprimir el campo sal con prefijote $ SQL> select sal,to_char(sal,'$999,999.00') 2 from emp; CASE Ejemplo Imprimir el sueldo de cada empleado con las siguientes modificaciones : President 30 Manager 25 Clerk 20 Salesman 15
  • 12. Universidad Nacional José Faustino Sánchez Carrión Mg Ing Edwin Iván Farro Pacífico Pag. 12 SQL> select ename,job,case job 2 when 'president' then sal*1.3 3 when 'manager' then sal*1.25 4 when 'clerk' then sal*1.2 5 when 'salesman' then sal*1.15 6 else 7 sal*1.1 8 end as "Nuevo sueldo" 9 from emp; DECODE Ejemplo Repetir el ejercicio anterior usando DECODE SQL> select ename,job, 2 decode (job, 3 'president',sal*1.3, 4 'manager',sal*1.25, 5 'clerk', sal*1.2, 6 'salesman',sal*1.15, 7 sal*1.1) as "Nuevo Sueldo" 8 from emp; DICCIONARIO DE DATOS El diccionario de datos es un conjunto de tablas y vistas que contiene información descriptiva sobre las tablas, privilegios de acceso y otras características de la base de datos. Las tablas del diccionario de datos se crean por el archivo sql.bsq mientras se crea la base de datos. Es la fuente central de información tanto paa el servidor ORACLE como para los administradores y usuarios de la misma. Se ctualiza por el sevidor ORACLE, siempre que un comando DDL es ejecutado. El diccionario de datos está localizado en el tablespace SYSTEM del que es propietario el usuario SYS. Tablas del diccionario más frecuentemente usadas por los usuarios: USER_CATALOG Tablas, vistas, sinónimos y secuencias pertenecientes al usuario. USER_CONSTRINTS Información sobre los constraints en las Tablas de usuario. USER_INDEXES Información sobre los índices de los Usuarios. USER_SEQUENCES Información de los secuencias del usuario. USER_SYNONIMOUS Información de los sinónimos del usuario. USER_TABLES Información de las tablas del usuario. USER_USERS Información sobre el usuario actual. USER_VIEWS Información sobre las vistas del usuario. ALL_TABLES Información de todas las tablas accesibles al usuario. Ejemplo Mostrar todas las tablas del usuario. SQL> SELECT table_name FROM user_tables;
  • 13. Universidad Nacional José Faustino Sánchez Carrión Mg Ing Edwin Iván Farro Pacífico Pag. 13 Edición del Buffer El contenido del buffer puede editarse no solamente con el editor sino también con comandos de SQL *PLUS. Ejemplo Mostrar el nombre, el cargo y el salario de los empleados del departamento 20. SQL> SELECT ename,job,sal 2 FROM emp 3 WHERE depto=20; WHERE depto=20 * ERROR en línea 3: ORA-00904: "DEPTO": identificador no válido Colocamos el puntero del buffer en la línea donde ocurrió el error para corregirlo. SQL> 3 WHERE deptno=20 SQL> / Ejemplo Cambie el salario por la comisión SQL> 1 1* SELECT ename,job,sal SQL> c/sal/comm 1* SELECT ename,job,comm SQL> / Ejemplo Añada la columna del manager a la línea actual con el comando APPEND SQL> 1 1* SELECT ename,job,comm SQL> A,mgr 1* SELECT ename,job,comm,mgr SQL> / Ejemplo Borre la línea 3 utilizando el commando DEL SQL>3 3* WHERE deptno=20 SQL>DEL SQL>/ VARIABLES EN SQL*PLUS En SQL*PLUS se pueden definir variables utilizables fuera del propio programa. Una variable en SQL*Plus puede asimilarse a una columna de una tabla con una sóla fila de datos. Las variables,
  • 14. Universidad Nacional José Faustino Sánchez Carrión Mg Ing Edwin Iván Farro Pacífico Pag. 14 igual que las columnas de bases de las tablas, tienen asignado un tipo de dato (numérico, carácter,….y contienen datos. Las variables se definen utilizando el comando DEFINE, mediante la sintaxis: DEFINE nombre_de_la_variable=’valor_de_la_variable” Las variables definidas previamente pueden utilizarse en la ejecución de consultas precediendo el nombre de la variable del signo & y encerrándolo entre comillas simples. Ejemplo Visualizar los empleados del departamento 30 SQL> select ename,job,deptno 2 from emp 3 where deptno='&v'; Variables de sustitución Visualizar el promedio de los sueldos más altos y más bajos de la tabla nivel salarial de los empleados (salgrade) utilizando variables de sustitución. SQL> select avg(&alto) "Prom. sueldos altos", 2 avg(&bajo) "Prom. sueldos bajos" 3 from salgrade; Si se desea que las variables almacenen el valor una sóla vez deben estar precedido del doble signos && y antes de ejecutar eliminarlas con indefine nombre_variable. SQL>undefine alto; SQL>undefine bajo; SQL> select avg(&&alto) "Prom. sueldos altos", 2 avg(&&bajo) "Prom. sueldos bajos" 3 from salgrade;