Escritura de Sentencias SQL SELECT Bsicas
Objetivos
Al finalizar esta leccin, debera estar capacitado para: Enumerar las capacidades de las sentencias SQL SELECT Ejecutar una sentencia SELECT bsica Diferenciar entre sentencias SQL y comandos iSQL*Plus
Capacidades de las Sentencias SQL SELECT
Proyeccin
Seleccin
Tabla 1 Unin
Tabla 1
Tabla 1
Tabla 2
Sentencias SELECT Bsicas
SELECT FROM *|{[DISTINCT] column|expression [alias],...} table;
SELECT identifica las columnas what FROM identifica la tabla which
Seleccin de Todas las Columnas
SELECT * FROM departments;
Seleccin de Columnas Especficas
SELECT department_id, location_id FROM departments;
Escritura de Sentencias SQL
Las sentencias SQL no son sensibles a maysculas/minsculas. Las sentencias SQL pueden ocupar una o ms lneas. Las palabras clave no se pueden abreviar ni dividir entre lneas. Las clusulas suelen estar colocadas en lneas separadas. Los sangrados se utilizan para mejorar la legibilidad.
Valores por Defecto de Cabecera de Columna
iSQL*Plus:
Justificacin de cabecera por defecto: Centro Visualizacin de cabecera por defecto: Maysculas
SQL*Plus:
Las cabeceras de la columna de fecha y carcter estn justificadas a la izquierda Las cabeceras de columna de nmero estn justificadas a la derecha Visualizacin de cabecera por defecto: Maysculas
Expresiones Aritmticas
Cree expresiones con datos de nmero y fecha mediante operadores aritmticos.
Operador + Descripcin Suma Resta
*
/
Multiplicacin
Divisin
Uso de Operadores Aritmticos
SELECT last_name, salary, salary + 300 FROM employees;
Prioridad de Operador
* / +
_
La multiplicacin y la divisin tienen prioridad sobre la suma y la resta. Los operadores de idntica prioridad se evalan de izquierda a derecha. Los parntesis se utilizan para forzar evaluaciones prioritarias y para clarificar sentencias.
Prioridad de Operador
SELECT last_name, salary, 12*salary+100 FROM employees;
Uso de Parntesis
SELECT last_name, salary, 12*(salary+100) FROM employees;
Definicin de un Valor Nulo
Un valor nulo es un valor no disponible, no asignado, desconocido, o no aplicable. Un valor nulo no es lo mismo que cero ni que un espacio en blanco.
SELECT last_name, job_id, salary, commission_pct FROM employees;
Valores Nulos en Expresiones Aritmticas
Las expresiones aritmticas que contienen un valor nulo tienen una evaluacin nula.
SELECT last_name, 12*salary*commission_pct FROM employees;
Definicin de un Alias de Columna
Un alias de columna: Cambia el nombre de una cabecera de columna. Resulta til con clculos. Se sita inmediatamente detrs del nombre de la columna, tambin puede existir la palabra clave opcional AS entre el nombre de la columna y el alias. Requiere comillas dobles si contiene espacios, caracteres especiales o si es sensible a maysculas/minsculas.
Uso de Alias de Columna
SELECT last_name AS name, commission_pct comm FROM employees;
SELECT last_name "Name", salary*12 "Annual Salary" FROM employees;
Operador de Concatenacin
Un operador de concatenacin: Concatena columnas o cadenas de caracteres a otras columnas. Est representado por dos barras verticales (||). Crea una columna resultante que es una expresin de caracteres.
Uso del Operador de Concatenacin
SELECT FROM last_name||job_id AS "Employees" employees;
Cadenas de Caracteres Literales
Un literal es un carcter, un nmero o una fecha incluida en la lista SELECT. Los valores literales de caracteres y fecha se deben escribir entre comillas simples. Cada cadena de caracteres tiene una salida para cada fila devuelta.
Uso de Cadenas de Caracteres Literales
SELECT last_name ||' is a '||job_id AS "Employee Details" FROM employees;
Filas Duplicadas
La visualizacin por defecto de las consultas son todas las filas, incluidas las filas duplicadas.
SELECT department_id FROM employees;
Eliminacin de Filas Duplicadas
Elimine filas duplicadas mediante la palabra clave DISTINCT de la clusula SELECT.
SELECT DISTINCT department_id FROM employees;
Interaccin de SQL y iSQL*Plus
Sentencias SQL
Explorador de Internet
iSQL*Plus
Comandos iSQL*Plus
Oracle server
Resultados de la consulta
Informe formateado
Cliente
Sentencias SQL frente a Comandos iSQL*Plus
SQL Lenguaje Estndar ANSI Las palabras clave no se pueden abreviar Las sentencias manipulan definiciones de tabla y datos en la base de datos iSQL*Plus Entorno Propiedad de Oracle Las palabras clave se pueden abreviar Los comandos no permiten la manipulacin de valores en la base de datos Se ejecuta en un explorador Al estar cargado de forma centralizada, no se tiene que implementar en cada mquina Comandos iSQL*Plus
Sentencias SQL
Visin General de iSQL*Plus
Despus de conectarse a iSQL*Plus, puede: Describir la estructura de tabla. Editar la sentencia SQL. Ejecutar SQL desde iSQL*Plus. Guardar sentencias SQL en archivos y agregar sentencias SQL a archivos. Ejecutar sentencias almacenadas en archivos guardados. Cargar comandos desde un archivo de texto a la ventana iSQL*Plus Edit.
Conexin a iSQL*Plus
Desde el entorno del explorador de Windows:
El Entorno iSQL*Plus 10 8
6
1 2
3 4 5
Visualizacin de la Estructura de Tabla
Utilice el comando DESCRIBE de iSQL*Plus para ver la estructura de una tabla.
DESC[RIBE] tablename
Visualizacin de la Estructura de Tabla
DESCRIBE employees
Interaccin con Archivos de Comandos
SELECT last_name, hire_date, salary FROM employees;
Interaccin con Archivos de Comandos
1
D:\temp\emp_sql.htm
SELECT last_name, hire_date, salary FROM employees;
Interaccin con Archivos de Comandos
DESCRIBE employees SELECT first_name, last_name, job_id FROM employees;
Resumen
En esta leccin, debera haber aprendido a:
Escribir una sentencia SELECT que:
Devuelva todas las filas y las columnas de una tabla.
Devuelva columnas especificadas de una tabla.
Utilice alias de columna para asignar cabeceras de columna descriptivas.
Utilice el entorno iSQL*Plus para escribir, guardar y
ejecutar sentencias SQL y comandos iSQL*Plus.
SELECT FROM *|{[DISTINCT] column|expression [alias],...} table;
Visin General de la Prctica 1
Esta prctica cubre los siguientes temas: Seleccin de todos los datos de tablas diferentes Descripcin de la estructura de las tablas Realizacin de clculos aritmticos y especificacin de nombres de columna Uso de iSQL*Plus