Sie sind auf Seite 1von 101

Usando SQL para consultar tus bases

de datos
Lenguaje estructurado de consulta
SQL es:
- El lenguaje estndar ANSI para
operacin de bases de datos
relacionales.
- Eficiente, fcil de aprender y usar.
- Funcionalmente completo (Con SQL,
puedes definir, recuperar y
manipular datos en tablas.

Usando SQL para consultar tu base de datos


En una base de datos relaciona, no especificas la ruta de
acceso para las tablas, y no se necesita saber como los
datos son arreglados fsicamente.
Para tener acceso a la base de datos, se ejecuta una
sentencia de lenguaje de consulta estructurada, cual es el
Instituto Americano Nacional de Estandarizacin (ANSI)
lenguaje estndar para la operacin de bases de datos
relacionales.
SQL es un conjunto de sentencias con las cuales todos los
programas y usuarios acceden datos en una base de datos
Oracle.
Programas de aplicacin y herramientas de Oracle
permiten a los usuarios el acceso a las bases de datos sin
el uso de SQL directamente, pero esta aplicaciones, en
turnos, debe usar SQL cuando ejecuta la solicitud del
usuario.
SQL provee sentencias para una variedad de tareas,
incluyendo:
-consulta de datos.
-Insercin, dar de alta y borrar filas en la tabla
-Creacin, remplazamiento, alteraciones y rompimiento de

Sentencias
SQL
Lenguaje de
manipulacin
de datos
Lenguaje de
definicin de
datos
Lenguaje de
control de
datos
Control de
Transaccion

Sentencias de SQL
Las sentencias SQL son apoyadas por el consentimiento de
Oracle con estndares industriales. Oracle Corporation
asegura futura conformidad con estndares globales por
personal clave globalmente activo en los comits estndar
de SQL. El comit de aceptacin son ANSI y la Organizacin
Internacional para la Estandarizacin (ISO). Ambos ANSI e
ISO han aceptado SQL como el lenguaje estndar para las
bases de datos relacionales.
Recuperar informacin desde la base de datos,
insertar nuevas filas, cambiar filas existentes y
remover filas no deseadas desde las tablas en la base
de datos, respectivamente. Colectivamente conocido
como lenguaje de manipulacin de datos (DML).

Establece, cambia y remueve estructura


de datos desde tablas. Colectivamente
conocido como lenguaje de definicion de
datos (DDL)
Proporciona o quita derechos de acceso de la base de datos
Oracle y sus estructuras internas
Administra los cambios hechos por sentencias DML. Cambios de
informacios pueden ser agrupados juntos dentro de
transacciones lgicas.

Ambiente de desarrollo para SQL


Hay dos ambientes de desarrollo para este
curso:
-La herramienta primaria es Oracle SQL
Developer.
-Tambin puede ser utilizado SQL*Plus
command-line.

Ambiente de desarrollo para SQL


Desarrollador SQL
Este curso es desarrollado usando Oracle SQL Developer como la
herramienta para ejecucin de sentencias SQL mencionados en los
ejemplos dentro de las lecciones y practicas SQL Developer versin
1.5.4 es transportado con Oracle Database 11g, y es la herramienta
por default para esta clase.
SQL*Plus
El ambiente SQL*Plus tambin puede ser utilizado para correr todos
los comandos SQL cubiertos en este curso.
Nota
Mira Appedix C para informacin acerca del uso de SQL Developer,
incluyendo instrucciones simples en la instalacion version 1.5.4
Mira Appendix D para informacin acerca de usar SQL*Plus.

Descripcin de esquema Human Resources


El esquema Human Resources es una parte muestra de esquemas
Oracle, estos pueden ser instalados en una base de datos Oracle.
Las sesiones de prctica en este curso usan informacin del
esquema HR.
Descripciones de tablas
-REGIONS contiene filas que representan alguna regin como
Amrica, Asia y mas.
-COUNTRIES contiene filas de estados, cada uno de estos es
asociado con una regin.
-LOCATIONS contiene la direccin especifica de una oficina
especifica, almacn, o sitio de produccin de una compaa en un
estado particular
-DEPARTMENTS muestra detalles acerca de departamentos en los
cuales los empleados trabajan. Cada departamento puede tener
una relacin representado en el departamento administrativo en la
tabla EMPLOYEES.
-EMPLOYEES contiene detalles acerca de cada empleado que trabaja
para un departamento. Algunos empleados no pueden ser
asignados a ningn departamento.
-JOB contiene los tipos de trabajo que pueden ser ocupados por
cada empleado.
-JOB_HISTORY contiene el historial de trabajo de los empleados, Si

Tablas usadas en este curso:


Las siguientes tablas principales fueron utilizadas en este
curso:
-EMPLOYEES table: Da detalles de todos los empleados.
-DEPARTMENTS table: Da detalles de todos los departamentos.
-JOB_GRADES table: Da detalles de salarios para varios grados.
A parte de estas tablas, Se tendr que usar otras tablas listadas
en diapositivas previas como LOCATIONS y JOB_HISTORY table.
Note: La estructura e informacin para todas estas tablas fueron
dadas en AppendixB

OBJETIVOS

Despues De completar la leccion tu


deberas ser capas de hacer lo siguiente:
Listar las capacidades de la sentencia
SELECT de SQL
Ejecutar una sentencia SELECT basica

Agenda de la leccin

Sentencia select bsica


Expresiones aritmetica y valures NULL
en la sentencia SELECT
Alias de columna
Uso del operador de concatenacion,
cadenas literales de caracteres, comillas
alternativas y palabra clave DISTINCT
Comando DESCRIBE

Capacidades de la sentencia SELECT de SQL


Una sentencia SELECT regresa valores de la base de datos. Con la
sentencia SELECTpuedes hacer lo siguiente:
Proyeccin: regresa la columna seleccionada en una consulta de
la base de datos. Puedes seleccionar una columna o muchas de
acuerdo a lo que requieras.
Seleccin: selecciona los renglones de la tabla que quieres que
regresen en la consulta.Puedes usar varios criterios de restriccion
para el llamado a la consulta.
Intercalar.- puedes establecer conecion entre datos de diferentes
tablas de la base de datos.

Sentencia SELECT basica

SELECT identifica la columna que sera mostrada en


pantalla.
FROM.- identifica la tabla que contiene esa columna.

Seleccionando todas las columnas


Puedes mostrar todas las columnas de datos de una tabla
colocando un asterisco (*) despues de la sentencia SELECT, Por
ejemplo, en la tabla departamentos tenemos 4 columnas :
Tambien puedes mostrar todas las columnas de la tabla
listandolas despues de la sentencia SELECT:

Seleccionar columnas especificas

Usando la sentencia SELECT tu puedes


seleccionar distintas columans de la
tabla usando el nombre especifico de la
columna y separandolos por una coma.
Puedes especificar el orden el que
quieres que se muestren usando el
comando SELECT.

Escribiendo sentencias SQL

Las sentencias SQL no son sensibles.


Las sentencias SQL se pueden escribir en una o mas lineas.
Las palabras clave no se pueden abreviar o separar en distintas
lineas.
Usualmente las clausulas se colocan entre lineas.
Se usa guineas para mejorar la legibilidad.
En SQL Developer, las sentencias SQL pueden ser opcionalmente
terminadas con punto y coma.
El punto y coma se requiere en instrucciones ejecutadas en SQL.
En SQL*PLUS ues necesario poner punto y coma al final de cada
sentencia SQL.

Titulos de columnas por defecto


SQL Developer:
Alineacion de titulo por defecto: izquierda- alineacion
Visualizacion de titulo por defecto: mayuscula
SQL* PLUS
Titulos de las columnas carcter y fecha estan alineados a
la izquierda
Numero de la cabecera de columna esta alineado a la
derecha
Visualizacion de encabezado por defecto: mayuscula

Columna de encabezado por defecto


En SQL Developer los encabezados de las columnas son
mostradas en mayusculas y esta alineadas a la izquierda.
Puede eliminar la columna encabezado con un alias . Alias
de columnas son cubiertas en esta leccion.

Leccion agenda
Instruccin basica SELECT
Expresiones aritmeticas y valores NULL en la instruccin
SELECT
Alias de columnas
uso del operador concatenacin
Cadenas de caracteres literales
Operador comilla alternativa

Crea expresiones con numeros y fechas mediante el uso de


operadores aritmeticos
+ suma
- Resta
- * multiplicacin
- / divisin

Expresiones aritmticas
Puede que se necesite modificar la manera en la cual los datos son
proyectados, o puede que se desee realizar clculos, o mirar varios
escenarios. Todo esto es posible usando expresiones aritmticas.
Una expresin aritmtica puede contener nombres de columnas,
valores de constantes numricas y los operadores aritmticos.
Operadores aritmticos
Las presentaciones listadas de operadores aritmticos estn
disponibles en SQL. Puede usar operadores aritmticos en
cualquier clausula de una sentencia SQL (excepto en la clausula
FROM).
Nota:
Con los datos de tipo DATE y TIMESTAMP, puedes usar solo los
operadores de adicin y sustraccin.

Usando Operadores
Aritmticos

Usando Operadores Aritmticos


El ejemplo en las diapositivas usa el operador adicin para calcular
un salario aumentado de $300 para todos los empleados. La
diapositiva tambin proyecta una columna SALARY +300 en la
salida.
Note que la columna resultante calculada, SALARY + 300, no es una
nueva columna en la tabla EMPLOYEES, es solo para la proyeccin.
Por default, el nombre de una nueva columna viene desde los
clculos que se generaron en este caso, salary+300.
Nota: El servidor Oracle ignora espacios en blanco antes y despus
del operador aritmtico.
Precedencia de operadores
Si una expresin aritmtica contiene mas de un operador,
multiplicacin y divisin son evaluados primero. Si los operadores en
una expresin son de la misma prioridad, la evaluacin se har de
izquierda a derecha.
Puede usar parntesis para forzar la expresin que esta dentro de
los parntesis con el fin de que se evale primero.
Reglas de precedencia
-Multiplicacin y divisin ocurren primero de la adicin y

Precedencia de
operadores

Precedencia de operadores (continuacin)


Tl primer ejemplo en la presentacin visualiza el apellido, salario y
compensacin anual de los empleados. Calcula la compensacin
anual por la multiplicacin del salario mensual por 12, mas un bono
por $100.Note que la multiplicacin es realizada antes de la adicin.
Nota: Use parntesis para reforzar la orden estndar de precedencia y
para proveer claridad. Por ejemplo, la expresin en la presentacin
puede ser escrita como (12+salary)+100 sin ningn cambio en el
resultado.
Usando parntesis
Puede anular las reglas de precedencia al usar parntesis para
especificar el orden deseado en los operadores que son ejecutados.
El segundo ejemplo en la presentacin presenta el apellido, salario y
compensacin anual de empleados. Calcula la compensacin anual
como a continuacin: aadiendo un bono mensual de $100 para el
salario mensual, y despus multiplicando el subtotal por 12. Debido a
los parntesis, la adicin toma prioridad a la multiplicacin.

Definiendo un valor
nulo
Nulo es un valor que es invalido, sin asignacion,
desconocido o no aplicable.
Nulno es lo mismo que cero o espacio
en blanco.

Definiendo un valor nulo


Si una fila carece un dato para una columna particular, ese valor es
dicho para ser null o para contener un null.
Null es un valor que no es disponible, no asignado, desconocido o
inaplicable. Null no es lo mismo que cero o espacio en blanco. Cero es
un numero y espacio en blanco es un carcter.
Columnas de cualquier tipo de dato puede contener nulos. Como sea,
algunas restricciones (NOT NULL and PRIMARYKEY) previenen nulls
desde que se empiezan a usar en la columna.
En la columna COMMISSION_PCT en la tabla EMPLOUEES, notifica que
solo un sales manager o sales presentative pueden recibir comission.
Otros empleados no pueden tener comisiones. Un null representa ese
hecho.
Nota: Por deafault,SQL Developer usa la literal, (null), para identificar
variables null. Como sea, Puede agregar algo mas relevante para
usted.
Para hacerlo, selecciones preferencias desde el menu de
herramientas. En la caja de digalo de preferencias, expandir el nodo
de base de datos. Click en parmetros avanzados y en el panel
derecho, Display Null value As,poner el valor apropiado.

Valores nulos en expresiones aritmticas.

Expresiones aritmticas contienen un valor nulo


evaluado por null

Valores nulos en expresiones aritmticas


Si cualquier valor de columna en una expresion aritmetica es nulo, el
resultado es null, Por ejemplo, si se pretende hacer una division por
cero, se obtendr un error. Como sea, Si se divide un numero por
nulo, el resultado es un null o desconocido.
En el ejemplo de la presentacin, employee Whalen no obtiene
ninguna comisin. Porque la columna COMMISSION:PCT en la
expresin aritmtica es nulo, el resultado es nulo.

Leccin Agenda
Sentencia SELECT
basica
Expresion aritmetica y valores nulos en la sentencia
SELECT
Alias de comulnas
Uso del operador concatenacion, cadenas de
caracteres, operador quote alternativo y la
palabra
clave DISTINCT
Comando
DESCRIBE

Definiendo un alias de
columna
un alias de columna:
Renombrar un encabezado de
columna
Es til con calculos
Inmediatamente sigue el nombre de columna (puede
ser tambien opcional la palaba clave AS ente la
columna nombre y el alias)

Definiendo un alias de columna


Cuando se muestra el resultado de una consulta, SQL Developer
normalmente usa el nombre de la columna seleccionada como el
encabezado de columna. Este encabezado puede no ser descriptivo y
puede ser difcil de entender. Puede cambiar el encabezado de
columna usando un alias de columna.
Especficamente el alias despus de la columna en la lista SELECT
usa espacios en blanco como separador. Por default, el encabezado
alias aparece arriba. Si el alias contiene espacios o caracteres
especiales (como # o $),
O en ese caso, encerrar el alias en comillas dobles.

Especifica su propia comilla delimitadora


Selecciona cualquier limite
Incrementa la legibilidad y la usabilidad

Alternativa Quote Operador


Muchas declaraciones de SQL usan caracteres
literales en expresiones o condiciones. Si la
misma literal contiene una comilla simple,
puede ver el
operador quote y seleccionas su propia
comilla delimitadora.
Usted puede escojer cualquier delimitante
conveniente, un Byte simple o multibyte o
cualquiera de los siguientes caracteres [] {}
() o <>.
En el ejemplo, el string contiene una comilla
simple, que es normalmente interpretada
como un delimitante de un caracter string.
Usando el operador
q o llaves son usadas como una comilla
delimitadora. el caracter siguiente las llaves
delimitadoras son interpretadas como un

La pantalla predeterminada de
consultas es en todas las filas,
incluyendo filas duplicadas

Filas duplicadas
Solamente indicas de otramanera, SQL manda el resultado de una
consulta sin eliminar las filas duplicadas. El primer ejemplo en la
fila desplegable
todos los numeros de departamentos de la tabla empleados, nota
que los numeros de departamentos se repitieron.
Para eliminar filas duplicadas en el resultado, incluyendo la palabra
clave DISTINCT en la clausula SELECT inmediatamente despues la
palabra clave
SELECT. En el segundo ejemplo en el despegable, la tabla
EMPLEADOS actualmente contiene 20 filas, pero solamente existen
siete departamentos unicos
en la tabla.
Tu puedes especificar multiples columnas despues de el calificador
DISTINCT. El calificador DISTINCT afecta a todas las columas
seleccionadas
y solo el resultado es distinto a la convinacion de las columnas.

Leccion Agenda
-Declaracion Basica de SELECT
-Expresiones Aritmeticas y valores NULOS en la declaracion
SELECT
-Columna Alias
-Uso del operador concatenador, Caracteres String operador
alternativo
quote y la palabra clave DISTINCT
-Comando DESCRIBE

Mostrando la estructura de la tabla


-Usa el comando DESCRIBIR para mostrar la estructura de la
tabla
-O, Selecciona la tabla en el arbol de conexiones y usa el
tabulador columna para ver la estructura de la tabla

Mostrando la estructura de la tabla


Tu puedes mostrar la estructura de una tabla usando el
comando DESCRIBE. El comando muestra los nombres de las
columnas y los tipos de datos
y muestra una tabla organizada (las consultas organizadas no
tienen consultas NOT NULL).
En la sintaxis, nombre tabla es el nombre de cualquier tabla
existente, ver o sinnimo es accesible al usuario.
Usando la interfaz SQL desarrolladora GUI, tu puedes
seleccionar la tabla en el rbol de conexiones y usar la
columna tabular para
ver la estructura de la tabla
Nota: El comando describir es soportado por ambos SQL PLUS
Y SQL DEVELOPER.

Usando el comando DESCRIBE

Usando el comando DESCRIBE


El ejemplo desplegable muestra informacion acerca de la
estructura de la tabla EMPLOYEES usando el comando
DESCRIBE
En la pantalla resultante, NULL indica que el valor de esa
columna pueda ser desconocida. NOT NULL indica que esa
columna
deba contener informacion. Tipo muestra el tipo de dato de la
columna
El tipo de dato es descrito en la siguiente tabla:

Das könnte Ihnen auch gefallen