Escribiendo Sentencias Escribiendo Sentencias Bsicas con SQL SELECTBsicas con SQL SELECT
Copyright EDCON Tecnologas de Informacin, 2008.
Bsicas con SQL SELECTBsicas con SQL SELECT
ObjetivosObjetivos
Al completar esta leccin podr realizar lo siguiente: Listar las capacidades de las sentencias SQL
SELECT Ejecutar una sentencia bsica SELECT
1-2
Diferenciar entre sentencias SQL y comandos de iSQL*Plus
Capacidades de sentencias SQL Capacidades de sentencias SQL SELECTSELECT
SeleccinProyeccin
1-3
Tabla 1 Tabla 2
Tabla 1Tabla 1
Unin
Sentencia Bsica Sentencia Bsica SELECTSELECT
SELECT *|{[DISTINCT] column|expression [alias],...}FROM table;
SELECT identifica Que columnas
1-4
SELECT identifica Que columnas FROM identifica Cual tabla
SELECT *FROM departments;
Seleccionando todas las columnasSeleccionando todas las columnas
1-5
Seleccionando Columnas EspecficasSeleccionando Columnas Especficas
SELECT department_id, location_idFROM departments;
1-6
Escribiendo Sentencias SQLEscribiendo Sentencias SQL
Las sentencias SQL no son case sensitive. Las sentencias SQL pueden ser escritas en una o ms
lneas. Las palabras claves no pueden ser abreviadas o tener
fracturas entre lneas. Las clusulas son usualmente escritas en lneas
separadas.
1-7
separadas. Las sangras se utilizan para incrementar la legibilidad. En iSQL*Plus, las sentencias SQL pueden opcionalmente
terminar con punto y coma (;). El punto y coma es obligatorio cuando ejecutas mltiples sentencias SQL.
En SQL*Plus, el punto y coma es obligatorio la final de cada sentencia SQL.
Encabezado de Columnas por defectoEncabezado de Columnas por defecto
iSQL*Plus: Justificacin de encabezado por defecto: Centro Despliegue de encabezado por defecto:
Maysculas SQL*Plus:
1-8
SQL*Plus: Encabezados de columnas de caracteres y fechas
son justificados a la izquierda Encabezados de columnas tipo numrico son
justificadas a la derecha Despliegue de encabezado de columnas:
Maysculas
Expresiones AritmticasExpresiones Aritmticas
Para crear expresiones con datos numricos y fechas usando operadores aritmticos
Operador Descripcin
1-9
+
-
*
/
Sumar
Restar
Multiplicar
Dividir
Usando Operadores AritmticosUsando Operadores Aritmticos
SELECT last_name, salary, salary + 300FROM employees;
1-10
Precedencia de OperadoresPrecedencia de Operadores
1-11
Multiplicacin y divisin tienen prioridad sobre suma y resta.
Los operadores con la misma prioridad son evaluados de izquierda a derecha.
Los parntesis son usados para forzar prioridad y clarificar las sentencias.
Precedencia de OperadorPrecedencia de Operador
SELECT last_name, salary, 12*salary+100FROM employees;
1-12
Usando ParntesisUsando Parntesis
SELECT last_name, salary, 12*(salary+100)FROM employees;
1-13
Definiendo Valores NulosDefiniendo Valores Nulos
Un nulo es un valor que es inasequible, no asignado, desconocido, o inaplicable .
Un nulo no es lo mismo que cero o espacio en blanco.
SELECT last_name, job_id, salary, commission_pctFROM employees;
1-14
FROM employees;
SELECT last_name, 12*salary*commission_pctFROM employees;
Valores Nulos en Valores Nulos en Expresiones AritmticasExpresiones Aritmticas
Las expresiones aritmticas que contienen un valor nulo se evalan como nulas.
1-15
Definiendo Alias de ColumnasDefiniendo Alias de Columnas
Un alias de columna: Renombra el encabezado de columna Es til con clculos Sigue inmediatamente el nombre de la columna -
1-16
Sigue inmediatamente el nombre de la columna -puede tambin haber el opcional AS palabra clave entre el nombre de la columna y alias
Requiere comillas dobles si contiene espacios o caracteres especiales o es case sensitive
Usando Alias de columnasUsando Alias de columnas
SELECT last_name AS name, commission_pct commFROM employees;
1-17
SELECT last_name "Name", salary*12 "Annual Salary"FROM employees;
Operador de ConcatenacinOperador de Concatenacin
Un operador de concatenacin: Concatena columnas o secuencias de carcter a
otras columnas Es representado por dos barras verticales (||)
1-18
Crea una columna resultante que es la expresin en carcteres
Usando el operador de ConcatenacinUsando el operador de Concatenacin
SELECT last_name||job_id AS "Employees"FROM employees;
1-19
Cadenas de caracteres LiteralesCadenas de caracteres Literales
Una literal es un carcter, un nmero o una fecha que es incluida en la lista del SELECT.
Literales de valores de fecha y carcter deben estar encerradas con comillas simples.
Cada cadena de caracteres es desplegada una vez
1-20
Cada cadena de caracteres es desplegada una vez para cada registro retornado.
Usando literales de cadenas de carcterUsando literales de cadenas de carcter
SELECT last_name ||' is a '||job_id AS "Employee Details"
FROM employees;
1-21
Registros DuplicadosRegistros Duplicados
El despliegue por defecto de bsquedas son todosEl despliegue por defecto de bsquedas son todoslos registros, incluyendo los registros duplicadoslos registros, incluyendo los registros duplicados.SELECT department_idFROM employees;
1-22
Eliminando Registros DuplicadosEliminando Registros Duplicados
Eliminar registros duplicados usando la palabra clave DISTINCT en la clusula SELECT.SELECT DISTINCT department_idFROM employees;
1-23
Interaccin entre SQL y Interaccin entre SQL y iiSQL*PlusSQL*Plus
Sentencias SQLServidorOracleInternet Internet
BrowserBrowser
iiSQL*PlusSQL*Plus
1-24
Resultados de BsquedasResultados de BsquedasComandosiSQL*Plus
Cliente
Reportes formateados
Sentencias SQL Contra Sentencias SQL Contra Comandos de Comandos de iiSQL*Plus SQL*Plus
SQL Un lenguaje Estndar ANSI No pueden ser
abreviadas las palabras clave
iiSQL*PlusSQL*Plus Un entorno El propietario es Oracle Las palabras claves
pueden ser abreviadas Los comandos no
1-25
SentenciasSentenciasSQLSQL
Las declaraciones manipulan datos y definiciones de tabla en la base de datos
Los comandos no permiten la manipulacin de valores en la base de datos
Funciona en un browser Centralmente cargado, no
tiene que ser puesto en ejecucin en cada mquina
ComandosComandosiiSQL*PlusSQL*Plus
DescripcinDescripcin de de iiSQL*PlusSQL*Plus
Despus de conectarse a iSQL*Plus, se puede: Describir la estructura de la tabla Editar sentencias SQL Ejecutar SQL desde iSQL*Plus
1-26
Ejecutar SQL desde iSQL*Plus Guardar sentencias SQL a archivos y aadir las
declaraciones de sentencias SQL a los archivos Ejecutar sentencias almacenadas en archivos Cargar comandos desde archivos de texto en la
ventana de edicin de iSQL*Plus
Conectndose a Conectndose a iiSQL*PlusSQL*Plus
Desde la ventana del browser:
1-27
El entorno El entorno iiSQL*PlusSQL*Plus
1-28
3
Desplegando Estructura de TablasDesplegando Estructura de Tablas
Usar el comando iSQL*Plus DESCRIBE para desplegar la estructura de una tabla.
DESC[RIBE] tablename
1-29
Desplegando Estructura de TablasDesplegando Estructura de Tablas
DESCRIBE employees
1-30
Interactuando con ScriptsInteractuando con Scripts
1-31
Interactuando con ScriptsInteractuando con Scripts
1
D:\temp\emp_sql.htm
SELECT last_name, hire_date, salary
1-32
SELECT last_name, hire_date, salaryFROM employees;
3
Interactuando con ScriptsInteractuando con Scripts
DESCRIBE employeesSELECT first_name, last_name, job_id 1
1-33
SELECT first_name, last_name, job_idFROM employees;
1
23
ResumenResumen
En esta leccin se habr aprendido acerca de: Escribir una sentencia SELECT que:
Retorne todos los registros y columnas de una tabla Retorne columnas especificas de una tabla Uso de aliases de columnas para proporcionar
1-34
SELECT *|{[DISTINCT] column|expression [alias],...}FROM table;
Uso de aliases de columnas para proporcionar encabezados descriptivos de columnas
Usar en entorno de iSQL*Plus para escribir, guardar, y ejecutar sentencias SQL y comandos de iSQL*Plus.
Practica 1 Visin GeneralPractica 1 Visin General
Esta practica cubre los siguientes temas: Seleccionar todos los datos de diferentes tablas Describir la estructura de tablas Ejecucin de calculos aritmeticos y especificacin
1-35
Ejecucin de calculos aritmeticos y especificacin de nombres de columnas
Uso de iSQL*Plus
1-40