Leccion1 (Introduccion a Oracle9i SQL)

35
Lección 1 I P V G I P V G 1 - 1 1 Escribiendo la Sentencia Básica de SQL SELECT

Transcript of Leccion1 (Introduccion a Oracle9i SQL)

Lección 1

I P V GI P V G1 - 1 1

Escribiendo la Sentencia Básica de SQL

SELECT

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

El Entorno de iSQL*Plus

ORACLE ORACLE I P V GI P V G1 - 28 28

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

Desplegando la Estructura de una Tabla

DESCRIBE empleados

ORACLE ORACLE I P V GI P V G1 - 30 30

Interactuando con Archivos Script

ORACLE ORACLE I P V GI P V G1 - 31 31

Interactuando con Archivos Script

ORACLE ORACLE I P V GI P V G1 - 32 32

Interactuando con Archivos Script

ORACLE ORACLE I P V GI P V G1 - 33 33

� 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.