Download - Leccion1 (Introduccion a Oracle9i SQL)
Al terminar esta lección, estaráscapacitado para:
Objetivos
ORACLE ORACLE I P V GI P V G1 - 2 2
� Enumerar las características de lasentencia SQL SELECT
� Ejecutar sentencias básicas de SELECT
� Diferenciar entre sentencias SQL ycomandos iSQL*Plus
Características de la Sentencia SQL SELECTProyección Selección
ORACLE ORACLE I P V GI P V G1 - 3 3
Tabla 1 Tabla 1
Tabla 1 Tabla 2
Join
Sentencia Básica SELECTSELECT * | {[DISTINCT] columna|expresion [alias],...}
FROM table;
� SELECT identifica QUE columnas.
ORACLE ORACLE I P V GI P V G1 - 4 4
� SELECT identifica QUE columnas.
� FROM identifica QUE tabla.
Seleccionando todas las Columnas
SELECT *
FROM departamentos;
DEPT_ID DEPT_NOMBRE JEFE_ID LUGAR_ID
ORACLE ORACLE I P V GI P V G1 - 5 5
8 filas seleccionadas
DEPT_ID DEPT_NOMBRE JEFE_ID LUGAR_ID
Seleccionando Columnas Específicas
SELECT departamento_id, lugar_id
FROM departamentos;
DEPARTAMENTO_ID LUGAR_ID
ORACLE ORACLE I P V GI P V G1 - 6 6
8 filas seleccionadas
� Las sentencias SQL no son case sensitive.
� Las sentencias SQL pueden ser escritas enuna o más líneas.
Escribiendo Sentencias SQL
ORACLE ORACLE I P V GI P V G1 - 7 7
� Las palabras claves no pueden ser abreviadaso cortadas entre líneas.
� Generalmente las cláusulas son ubicadas enlíneas separadas.
� Se usan márgenes para mejorar la lectura.
iSQL*PLUS:
� Justificación del encabezado es Centrada.
� Despliegue del encabezado es en Mayúsculas.
Encabezados por Defecto en Columnas
ORACLE ORACLE I P V GI P V G1 - 8 8
SQL*PLUS:
� Encabezado de Columnas de caracteres yfechas son justificadas a la izquierda.
� Encabezado de columnas numéricas sonjustificadas a la derecha.
� Despliegue del encabezado es en Mayúsculas.
� Se pueden crear expresiones con datosnuméricos y fechas usando operadoresaritméticos.
Expresiones Aritméticas
ORACLE ORACLE I P V GI P V G1 - 9 9
Operador Descripción
+ Suma
- Diferencia
* Multiplicación
/ División
Usando Operadores Aritméticos
SELECT apellido, salario, salario + 300
FROM empleados;
APELLIDO SALARIO SALARIO + 300APELLIDO
No es una
columna de la
tabla, pero es un
cálculo a partir
de una columna
de la tabla
ORACLE ORACLE I P V GI P V G1 - 10 10
20 filas seleccionadas
Precedencia de los Operadores
* / + -
� La multiplicación y división tienen prioridad
ORACLE ORACLE I P V GI P V G1 - 11 11
� La multiplicación y división tienen prioridadsobre la suma y diferencia.
� Operadores de igual prioridad son evaluadosde izquierda a derecha.
� Los paréntesis son usados para forzar laevaluación de la prioridad y clarificar lassentencias.
Precedencia de los OperadoresSELECT apellido, salario, 12 * salario + 100
FROM empleados;
SALARIOAPELLIDO 12* SALARIO +100
ORACLE ORACLE I P V GI P V G1 - 12 12
20 filas seleccionadas
Usando ParéntesisSELECT apellido, salario, 12 * (salario + 100)
FROM empleados;
APELLIDO SALARIO 12*( SALARIO +100)
ORACLE ORACLE I P V GI P V G1 - 13 13
20 filas seleccionadas
Definiendo un valor Nulo
SELECT apellido, cargo_id, salario, comision_porc
� Un nulo es un valor no disponible, no asignado, noconocido o no aplicable.
� Un nulo NO es lo mismo que cero o espacio enblanco.
ORACLE ORACLE I P V GI P V G1 - 14 14
SELECT apellido, cargo_id, salario, comision_porc
FROM empleados;
20 filas seleccionadas
APELLIDO CARGO_ID SALARIO COMISION_PORC
Valores Nulo en Expresiones Aritméticas
SELECT apellido, 12 * salario * comision_porc
FROM empleados;
� Las expresiones aritméticas que tengan unvalor nulo se evaluarán a nulo.
ORACLE ORACLE I P V GI P V G1 - 15 15
20 filas seleccionadas
APELLIDO 12*SALARIO*COMISION_PORC
Un alias en las columnas:
� Renombrar encabezados de columnas.
� Es muy útil para cálculos.
Sigue inmediatamente al nombre de la
Definiendo Alias en las Columnas
ORACLE ORACLE I P V GI P V G1 - 16 16
� Sigue inmediatamente al nombre de lacolumna, opcionalmente pueden llevar laclausula AS entre el nombre de la columna yel alias.
� Requiere de comillas dobles si este contieneespacios o caracteres especiales o es casesensitive.
Usando Alias en las ColumnasSELECT apellido AS empleado, comision_porc comision
FROM empleados;
EMPLEADO COMISION
ORACLE ORACLE I P V GI P V G1 - 17 17
20 filas seleccionadas
SELECT apellido “Empleado”, salario*12 “Salario Anual”
FROM empleados;
Empleado Salario Anual
Un operador de concatenación:
� Concatena columnas o string decaracteres con otras columnas.
Operador de Concatenación
ORACLE ORACLE I P V GI P V G1 - 18 18
caracteres con otras columnas.
� Se representa por dos barrasverticales(||).
� El resultado es una columna quecontiene una expresión de caracter.
Usando el Operador de Concatenación
SELECT apellido||cargo_id AS “Empleado”
FROM empleados;
Empleado
ORACLE ORACLE I P V GI P V G1 - 19 19
20 filas seleccionadas
� Un literal es un caracter, un número ofecha incluido en la línea del SELECT.
� Los valores de literales de fecha y
Literal en un String de Caracteres
ORACLE ORACLE I P V GI P V G1 - 20 20
� Los valores de literales de fecha ycaracteres deben ir encerrados entrecomilla simple.
� Cada string de caracteres apareceráuna vez por cada fila retornada.
Usando literales en un String de Caracteres
SELECT apellido ||’ es un ‘ || cargo_id AS “Detalle Emple”
FROM empleados;
Detalle Emple
ORACLE ORACLE I P V GI P V G1 - 21 21
20 filas seleccionadas
Detalle Emple
Filas Duplicadas
SELECT departamento_id
FROM empleados;
� Por defecto el despliegue de las consultas sontodas las filas, incluyendo las filas duplicadas
ORACLE ORACLE I P V GI P V G1 - 22 22
20 filas seleccionadas
DEPARTAMENTO_ID
Eliminando Filas Duplicadas
SELECT DISTINCT departamento_id
FROM empleados;
� Para eliminar filas duplicadas se debe utilizarla cláusula DISTINCT en la cláusula SELECT.
ORACLE ORACLE I P V GI P V G1 - 23 23
8 filas seleccionadas
DEPARTAMENTO_ID
Interacción de SQL y iSQL*Plus
Oracle Server
Internet
iSQL*Plus SQL sentencias
ORACLE ORACLE I P V GI P V G1 - 24 24
Browser
Resultados de la consultaComandos iSQL*PLUS
Reporte Formateado
Sentencias SQL vs Comandos iSQL*PlusSQL
� Un Lenguaje.
� Estandar ANSI.
� Las cláusulas no pueden
iSQL*Plus� Un ambiente.
� Propiedad de Oracle.
� Las cláusulas puedenabreviarse.
ORACLE ORACLE I P V GI P V G1 - 25 25
� Las cláusulas no puedenabreviarse.
� Las sentencias permitenmanipular datos ytablas definidas en labase de datos.
abreviarse.
� Los comandos no puedenmanipular valores de labase de datos.
� Se ejecutan en unbrowser.
� Puede ser cargadocentralmente y norequiere serimplementado en cadamáquina.
Una vez que se ha ingresado a iSQL*Plus podrás:
� Describir estructuras de las tablas.
� Editar sentencias SQL.
� Ejecutar SQL desde iSQL*Plus.
Presentación de iSQL*Plus
ORACLE ORACLE I P V GI P V G1 - 26 26
� Ejecutar SQL desde iSQL*Plus.
� Grabar sentencias SQL en archivos y abrir sentenciasSQL desde archivos.
� Ejecutar sentencias almacenadas y grabarlas enarchivos.
� Llamar comandos desde un archivo de texto a travésde iSQL*Plus por medio de un editor de windows.
Ingresando a iSQL*Plus
� Desde el entorno de tu browser en windows ingresar:
http://direcion_ip_servidor/isqlplus
ORACLE ORACLE I P V GI P V G1 - 27 27
Desplegando las Estructuras de las Tablas
DESC[RIBE] tablename
� Use en iSQL*Plus el comando DESCRIBEpara desplegar la estructura de una tabla.
ORACLE ORACLE I P V GI P V G1 - 29 29
DESC[RIBE] tablename
� En esta lección has aprendido a:
� Escribir una sentencia SELECT para:� Retornar todas las filas y columnas de una tabla.
Retornar colunmas específicas desde una tabla.
Resumen
ORACLE ORACLE I P V GI P V G1 - 34 34
� Retornar colunmas específicas desde una tabla.
� Usar alias para describir el encabezado de éstas.
� Usar el ambiente de iSQL*Plus para escribir,guardar y ejecutar sentencias SQL ycomandos iSQL*Plus.
SELECT * | {[DISTINCT] columna|expresion [alias],...}
FROM table;
En esta práctica deberás resolver lassiguientes actividades:
� Seleccionar todos los datos de lasdiferentes tablas.
Práctica 1 Presentación
ORACLE ORACLE I P V GI P V G1 - 35 35
� Seleccionar todos los datos de lasdiferentes tablas.
� Describir las estructuras de las tablas.
� Realizar cálculos aritméticos yespecificar nombres de columas.
� Utilizar iSQL*Plus.