Date post: | 30-Sep-2015 |
Category: |
Documents |
Upload: | karlyta-flores |
View: | 219 times |
Download: | 0 times |
Diapositiva 1
1Copyright Oracle Corporation, 2001. All rights reserved.
Escribiendo un comando SELECT
Diapositiva 2
1-2 Copyright Oracle Corporation, 2001. All rights reserved.
Lo que podemos hacer con un SELECT
SelectionProjection
Table 1 Table 2
Table 1Table 1
Join
Capacidades de sentencias SQL SELECT
Una sentencia SELECT recupera informacin de la base de datos.
Utilizacin de una sentencia SELECT, usted puede hacer lo siguiente:
Proyeccin: Puede utilizar la capacidad de proyeccin en SQL para elegir
las columnas de una tabla que desea respuesta a la consulta. Usted puede
elegir como pocos o tantas columnas de la tabla como necesite.
Seleccin: Puede utilizar la capacidad de seleccin de SQL para elegir
las filas de una tabla que desea devueltos por una consulta. Puede
utilizar varios criterios para restringir las filas que se ven.
Unin: Puede utilizar la capacidad de unirse en SQL para reunir datos que
se almacenan en tablas diferentes, creando un vnculo entre ellos. Se
aprende ms sobre une en una leccin posterior.
Diapositiva 3
1-3 Copyright Oracle Corporation, 2001. All rights reserved.
COMANDO SELECT BASICO
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table;
SELECT identifica cuales columnas
FROM identifica cual tabla
Declaracin Bsica SELECT
En su forma ms simple, una instruccin SELECT debe incluir lo siguiente:
Una clusula SELECT, que especifica las columnas que se mostrar
Una clusula FROM, que especifica la tabla que contiene las columnas
listadas en la clusula SELECT
En la sintaxis:
SELECT es una lista de una o ms columnas
* = Selecciona todas las columnas
DISTINCT = suprime los duplicados
column | expression = selecciona la columna llamada o la expresin
alias = da columnas seleccionado varios encabezamientos
FROM tabla especifica la tabla que contiene las columnas
Nota: A lo largo de este curso, la palabra clave palabras, clusula, y la
declaracin se utilizan de la siguiente manera:
Una palabra clave se refiere a un elemento de SQL individual.? Por
ejemplo, SELECT y FROM son palabras clave.
Una clusula es una parte de una sentencia SQL.? Por ejemplo, employee_id
SELECT nombre, apellidos, ... es una clusula.
Una declaracin es una combinacin de dos o ms clusulas.? Por ejemplo,
SELECT * FROM empleados es una sentencia SQL.
Diapositiva 4
1-4 Copyright Oracle Corporation, 2001. All rights reserved.
SELECT *
FROM departments;
SELECCIONANDO TODAS LAS
COLUMNAS
Seleccin de todas las columnas de todas las filas
Puede mostrar todas las columnas de datos en una tabla siguiendo la
palabra clave SELECT con un asterisco (*).
En el ejemplo de la diapositiva, la tabla departamento contiene cuatro
columnas: DEPARTMENT_ID, department_name, MANAGER_ID y LOCATION_ID. La
tabla contiene siete filas, una para cada departamento.
Tambin puede mostrar todas las columnas de la tabla enumerando todas las
columnas despus de la palabra clave SELECT. Por ejemplo, la siguiente
sentencia SQL, como el ejemplo de la diapositiva, muestra todas las
columnas y todas las filas de la tabla DEPARTAMENTOS:
SELECCIONAR Department_id, department_name, MANAGER_ID, LOCATION_ID
De los departamentos;
Diapositiva 5
1-5 Copyright Oracle Corporation, 2001. All rights reserved.
SELECCIONANDO COLUMNAS
ESPECIFICAS
SELECT department_id, location_id
FROM departments;
Seleccionar columnas especficas de todas las filas
Usted puede utilizar la instruccin SELECT para mostrar columnas
especficas de la tabla especificando los nombres de columna, separados
por comas. El ejemplo de la diapositiva muestra todos los nmeros de
departamento y los nmeros de ubicacin de la tabla de departamentos.
En la clusula SELECT, especifique las columnas que desee, en el orden en
el que desea que aparezcan en la salida. Por ejemplo, para mostrar la
ubicacin antes del nmero de departamento que va de izquierda a derecha,
se utiliza la siguiente declaracin:
SELECCIONAR LOCATION_ID, department_id
De los departamentos;
Diapositiva 6
1-6 Copyright Oracle Corporation, 2001. All rights reserved.
Writing SQL Statements
El comando SELECT No es sensitivos a mayusculas o minuculas ( podemos escribir SELECT o select y la maquina lo entendera igual ).
El comando select lo podemos escribir en varias lineas
Las palabras claves ( ejemplo selec, from ) esa deben escribirse completas sin abreviaturas.
Un select completo usualmente se puede escribir en varias iineas para que se vea mas ordenado.
Se pude usar identacion para mejorar la lectura.
Escribir sentencias SQL
Usando las siguientes reglas y pautas simples, usted puede construir
afirmaciones vlidas que sean fciles de leer y fcil de editar:
o instrucciones SQL no son sensibles a maysculas, salvo que se indique.
o Sentencias SQL se pueden introducir en una o varias lneas. o Las palabras clave no pueden ser divididos en lneas o abreviados. o Clusulas se colocan generalmente en lneas separadas para
facilitar la lectura y la facilidad de edicin.
o Las sangras se deben utilizar para hacer el cdigo ms legible. o Palabras clave normalmente son introducidos en maysculas; todas
las otras palabras, como nombres de tablas y columnas, se
introducen en minsculas.
Ejecutar sentencias SQL
El uso de iSQL * Plus, haga clic en el botn Ejecutar para ejecutar el
comando o comandos en la ventana de edicin.
Diapositiva 7
1-7 Copyright Oracle Corporation, 2001. All rights reserved.
Encabezados de columnas
predeterminados
iSQL*Plus: La justificacion de cada encabezado es al centro.
El desplege de cada encabezado de columna estandar es en mayusculas
Predeterminados Encabezados de Columnas
En iSQL * Plus, encabezados de columna se muestran en maysculas y
centradas.
SELECT apellidos, hire_date, salario
De los empleados;
Puede anular la visualizacin de ttulo de la columna con un alias. Alias
de columna se tratan ms adelante en esta leccin.
Diapositiva 8
1-8 Copyright Oracle Corporation, 2001. All rights reserved.
Expresiones Aritmeticas
Se pueden crear expresiones aritmeticas usando los campos numericos y de fechas.
Los operadores aritmeticos son:
Operator
+
-
*
/
Description
Add
Subtract
Multiply
Divide
Expresiones aritmticas
Es posible que tenga que modificar la forma en que se muestran los datos,
realizar clculos, o buscar en escenarios hipotticos. Estos son todos
los posibles utilizando expresiones aritmticas. Una expresin aritmtica
puede contener nombres de columna, valores numricos constantes, y los
operadores aritmticos.
Operadores aritmticos
La diapositiva muestra los operadores aritmticos disponibles en SQL.
Puede usar operadores aritmticos en cualquier clusula de una sentencia
SQL, excepto en la clusula FROM.
Diapositiva 9
1-9 Copyright Oracle Corporation, 2001. All rights reserved.
Usando los operadores aritmeticos
SELECT last_name, salary, salary + 300
FROM employees;
Uso de operadores aritmticos
El ejemplo de la diapositiva utiliza el operador de suma para calcular un
aumento salarial de $ 300 para todos los empleados y muestra una nueva
columna SALARIO 300 + en la salida.
Tenga en cuenta que la resultante calculada columna SALARIO + 300 no es
una nueva columna en la tabla EMPLEADOS; es slo para visualizacin. Por
defecto, el nombre de una nueva columna proviene del clculo que lo
gener, en este caso, el salario + 300.
Nota: El servidor Oracle9i ignora los espacios en blanco antes y despus
de que el operador aritmtico.
Diapositiva 10
1-10 Copyright Oracle Corporation, 2001. All rights reserved.
Precedencia de los operadores
La multiplication y la division son prioritarios a la suma y la resta.
Las operaciones son realizadas de izquierda a derecha
Se pude usar parentesis para forzar la prioridad en la operaciones aritmeticas
* / +_
Precedencia de Operadores
Si una expresin aritmtica contiene ms de un operador, la
multiplicacin y la divisin se evalan primero. Si los operadores dentro
de una expresin son de misma prioridad, la evaluacin se realiza de
izquierda a derecha.
Puede utilizar parntesis para forzar la expresin dentro de parntesis,
a ser evaluado primero.
Diapositiva 11
1-11 Copyright Oracle Corporation, 2001. All rights reserved.
Precedencia de los operadores
SELECT last_name, salary, 12*salary+100
FROM employees;
Precedencia de Operadores (continuacin)
El ejemplo de la diapositiva muestra el apellido, el salario y la
compensacin anual de los empleados. Se calcula la compensacin anual que
12 multiplicado por el salario mensual, ms un bono por nica vez de $
100. Obsrvese que la multiplicacin se realiza antes de la adicin.
Nota: Utilice parntesis para reforzar el orden estndar de precedencia y
para mejorar la claridad. Por ejemplo, la expresin en la diapositiva se
puede escribir como (12 * salario) + 100 sin ningn cambio en el
resultado.
Diapositiva 12
1-12 Copyright Oracle Corporation, 2001. All rights reserved.
Usuando parentesis
SELECT last_name, salary, 12*(salary+100)
FROM employees;
Uso de parntesis
Puede anular las reglas de precedencia mediante el uso de parntesis para
especificar el orden en que se ejecutan los operadores.
El ejemplo de la diapositiva muestra el apellido, el salario y la
compensacin anual de los empleados. Se calcula la compensacin anual
como salario mensual ms un bono mensual de $ 100, multiplicado por 12.
Debido a los parntesis, adems tiene prioridad sobre la multiplicacin.
Diapositiva 13
1-13 Copyright Oracle Corporation, 2001. All rights reserved.
Definiendo el valor nulo
Un nulo es un valor que esta sin asignar, no disponible, desconocido, inaplicable
Una valo nulo no es un valor cero o un espacio en blanco.
SELECT last_name, job_id, salary, commission_pct
FROM employees;
Valores Nulos
Si una fila carece el valor de datos para una columna en particular, ese
valor se dice que es nulo, o para contener un valor nulo.
Un nulo es un valor que no est disponible, sin asignar, desconocido, o
inaplicables. Un nulo no es lo mismo que cero o un espacio. El cero es un
nmero, y un espacio es un personaje.
Columnas de cualquier tipo de datos pueden contener valores nulos. Sin
embargo, algunas limitaciones, NOT NULL y PRIMARY KEY, impiden que los
nulos se utilicen en la columna.
En la columna de la COMMISSION_PCT en la tabla EMPLEADOS, observe que
slo un representante de ventas o gerente de ventas puede ganar una
comisin. Otros empleados no tienen derecho a ganar comisiones. Un nulo
representa ese hecho.
Diapositiva 14
1-14 Copyright Oracle Corporation, 2001. All rights reserved.
SELECT last_name, 12*salary*commission_pct
FROM employees;
El valor nulo en operaciones aritmeticas
Las operaciones aritmeticas que contienen valores nulos dan como resultados valores nulos.
Valores Nulos (continuacin)
Si cualquier valor de columna en una expresin aritmtica es nulo, el
resultado es nulo. Por ejemplo, si se intenta realizar la divisin por
cero, se obtiene un error. Sin embargo, si se divide un nmero por nulo,
el resultado es un valor nulo o desconocido.
En el ejemplo de la diapositiva, empleado rey no recibe ningn tipo de
comisin. Debido a la columna de la COMMISSION_PCT en la expresin
aritmtica es nulo, el resultado es nulo.
Para obtener ms informacin, consulte Oracle9i SQL, "Elementos bsicos
de SQL."
Diapositiva 15
1-15 Copyright Oracle Corporation, 2001. All rights reserved.
Definiendo alias en las columnas
Un alias de columna
Cambia el nombre de un encabezado de columna
Es til con clculos
Para usarlo se deja un espacio Inmediatamente despus del nombre de la columna - tambin puede usarse la expresion AS como una palabra clave entre el nombre de la columna y alias
Requiere comillas dobles si contiene espacios o caracteres especiales o maysculas y minsculas
columna Alias
Cuando se muestra el resultado de una consulta, iSQL * Plus normalmente
utiliza el nombre de la columna seleccionada como el ttulo de la
columna. Esta partida no puede ser descriptivo y, por tanto, puede ser
difcil de entender. Puede cambiar un encabezado de columna utilizando un
alias de columna.
Especifique el alias despus de la columna en la lista SELECT utilizando
un espacio como separador. De forma predeterminada, los encabezados de
alias aparecen en maysculas. Si el alias contiene espacios o caracteres
especiales (como # o $), o entre maysculas y minsculas, incluya el
alias entre comillas dobles ("").
Diapositiva 16
1-16 Copyright Oracle Corporation, 2001. All rights reserved.
Usando el alias de columnas
SELECT last_name "Name", salary*12 "Annual Salary"
FROM employees;
SELECT last_name AS name, commission_pct comm
FROM employees;
Los alias de columna (continuacin)
El primer ejemplo muestra los nombres y los porcentajes de las comisiones
de todos los empleados. Ntese que la palabra clave AS opcional se ha
utilizado antes del nombre de alias de columna. El resultado de la
consulta es el mismo si la palabra clave AS se utiliza o no. Observe
tambin que la sentencia SQL tiene el alias de columna, el nombre y la
comunicacin, en minsculas, mientras que el resultado de la consulta
muestra los encabezados de columna en maysculas. Como se mencion en una
diapositiva anterior, ttulos de las columnas aparecen en maysculas por
defecto.
El segundo ejemplo muestra los apellidos y salarios anuales de todos los
empleados. Debido Salario Anual contiene un espacio, se ha encerrado en
comillas dobles. Observe que el ttulo de la columna en la salida es
exactamente el mismo que el alias de columna.
columna Alias
Cuando se muestra el resultado de una consulta, iSQL * Plus normalmente
utiliza el nombre de la columna seleccionada como el ttulo de la
columna. Esta partida no puede ser descriptivo y, por tanto, puede ser
difcil de entender. Puede cambiar un encabezado de columna utilizando un
alias de columna.
Especifique el alias despus de la columna en la lista SELECT utilizando
un espacio como separador. De forma predeterminada, los encabezados de
alias aparecen en maysculas. Si el alias contiene espacios o caracteres
especiales (como # o $), o entre maysculas y minsculas, incluya el
alias entre comillas dobles ("").
Diapositiva 17
1-17 Copyright Oracle Corporation, 2001. All rights reserved.
Operador de concatenacion
Un operador de concatenacion
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
operador de concatenacin
Puede enlazar columnas a otras columnas, expresiones aritmticas, o
valores constantes para crear una expresin de caracteres mediante el
operador de concatenacin (||). Las columnas a cada lado del operador se
combinan para hacer una columna de salida nica.
Diapositiva 18
1-18 Copyright Oracle Corporation, 2001. All rights reserved.
Usando el operador de concatenacion
SELECT last_name||job_id AS "Employees"
FROM employees;
Operador de concatenacin (continuacin)
En el ejemplo, LAST_NAME y JOB_ID se concatenan y se les da a los
empleados de alias. Observe que el empleado apellido y cdigo de trabajo
se combinan para hacer una columna de salida nica.
La palabra clave que antes el nombre de alias hace que la clusula SELECT
ms fcil de leer.
Diapositiva 19
1-19 Copyright Oracle Corporation, 2001. All rights reserved.
Caracteres literales o concatenacion de
textos.
Un literal es un carcter, un nmero o una fecha incluida en la lista SELECT.
Valores literales de fecha y de caracteres deben estar encerrados entre comillas simples.
Cada cadena de caracteres se emite una vez por cada Fila devuelta.
Cadenas de caracteres literales
Un literal es un carcter, un nmero o una fecha que se incluye en la
lista SELECT y que no es un nombre de columna o un alias de columna. Est
impreso para cada fila devuelta. Las cadenas literales de texto sin
formato se pueden incluir en el resultado de la consulta y se tratan de
la misma como una columna en la lista SELECT.
Fecha y caracteres literales deben estar encerrados entre comillas
simples (''); literales numricos no necesitan.
Diapositiva 20
1-20 Copyright Oracle Corporation, 2001. All rights reserved.
Usando cadenas de textos
SELECT last_name ||' is a '||job_id
AS "Employee Details"
FROM employees;
Cadenas de caracteres literales (continuacin)
El ejemplo de la diapositiva muestra apellidos y cdigos de trabajo de
todos los empleados. La columna tiene el Empleado rbrica Detalles.
Observe los espacios entre las comillas simples en la sentencia SELECT.
Los espacios mejorar la legibilidad de la salida.
En el siguiente ejemplo, el apellido y el salario de cada empleado se
concatenan con un literal de dar las filas devueltas ms significado.
SELECT apellidos || ': 1 mes de salario =' || salario mensual
De los empleados;
Diapositiva 21
1-21 Copyright Oracle Corporation, 2001. All rights reserved.
Registros duplicados
Una salida default de todo SELECT reflejan todas las filas O registros , incluyendo las filas duplicadas.
SELECT department_id
FROM employees;
filas duplicadas
A menos que usted indique lo contrario, iSQL * Plus muestra los
resultados de una consulta sin eliminar filas duplicadas.
El ejemplo de la diapositiva muestra todos los nmeros de departamento de
la tabla EMPLEADOS. Observe que los nmeros de departamento se repiten.
Diapositiva 22
1-22 Copyright Oracle Corporation, 2001. All rights reserved.
Para eliminar registros duplicados
Se pueden eliminar las salidas duplicadas en los select usuando la palabra DISTINCT
SELECT DISTINCT department_id
FROM employees;
Filas duplicadas (continuacin)
Para eliminar filas duplicadas en el resultado, incluya la palabra clave
DISTINCT en la clusula SELECT inmediatamente despus de la palabra clave
SELECT. En el ejemplo de la diapositiva, la tabla EMPLEADOS realidad
contiene 20 filas, pero slo hay siete nmeros de departamento exclusivos
de la tabla.
Puede especificar varias columnas tras el calificador DISTINCT. El
calificador DISTINCT afecta a todas las columnas seleccionadas, y el
resultado es cada combinacin distinta de las columnas.
SELECT DISTINCT department_id, job_id
De los empleados;
Diapositiva 23
1-23 Copyright Oracle Corporation, 2001. All rights reserved.
DISTINCT
Usando el distinct
Se escribe inmeditamente despues del SELECT.
Solo se escribe una solo vez.
El resultado sin duplicados solo es un efecto visual, si los datos estan duplicados en la tabla, seguiran duplicados aun cuando la salida nos mueste lo contrario, el comando select es solo un comando de consulta, no modifica los datos contenidos en las tablas.
Diapositiva 24
1-24 Copyright Oracle Corporation, 2001. All rights reserved.
DESPLEGANDO LA ESTRUCTURA DE
LAS TABLAS
Use the iSQL*Plus DESCRIBE command to display
the structure of a table.
DESC[RIBE] tablename
Viendo la estructura de tabla
En iSQL * Plus, puede visualizar la estructura de una tabla con el
comando DESCRIBE. El comando muestra los nombres de columna y tipos de
datos, as como si una columna debe contener datos.
En la sintaxis:
nombretabla es el nombre de cualquier tabla, vista existente o sinnimo
accesible para el usuario
Diapositiva 25
1-25 Copyright Oracle Corporation, 2001. All rights reserved.
Deplegando la estructura de las tablas
DESCRIBE employees
Viendo la estructura de tabla (continuacin)
El ejemplo de la diapositiva muestra la informacin sobre la estructura
de la tabla EMPLOYEES.
En el resultado:
Null? indica si la columna debe contener datos;
NO NULL indica que una columna debe contener datos
Tipo muestra el tipo de datos para una columna