Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PROCESANDO INFORMACIN
SENTENCIA SQL SELECT
OBJETIVOS
ra
Despus de completar esta leccin, usted debera ser capaz de hacer lo siguiente:
Lista de las capacidades de la sentencia SQL SELECT
Ejecutar una instruccin bsica SELECT
ue
Para extraer los datos de la base de datos, es necesario utilizar la instruccin SQL SELECT. Sin
embargo, podra necesitar restringir las columnas que se muestran. Esta leccin describe todas las
sentencias SQL que son necesaria para llevar a cabo estas acciones. Adems, es posible que
desee para crear sentencias SELECT que puede ser utilizada ms de una vez.
aq
Una instruccin SELECT recupera la informacin de la base de datos. Con una instruccin
SELECT, puede utilizar esa las siguientes capacidades:
Projection - Proyeccin: Seleccione las columnas de una tabla que son devueltos por una
consulta. Seleccione pocas o muchas de las columnas segn sea necesario.
Selection - Seleccin: Seleccione las filas de una tabla que son devueltos por una consulta.
Varios criterios pueden ser utilizados para restringir las filas que se recuperan.
Join - Participacin: Reunir datos que se almacenan en tablas diferentes, especificando el
enlace entre ellos. La participacin de SQL se explica con ms detalle en la leccin titulada
"Mostrar datos de Mltiples Tablas".
hm
ra
ue
En la siguiente sintaxis:
SELECT
Es una lista de una o ms columnas
*
Selecciona todas las columnas
DISTINCT
Suprime los duplicados
Column | Expression Selecciona la columna con nombre o la expresin
Alias
Da las columnas seleccionadas distintas partidas
FROM table
Especifica la tabla que contiene las columnas
Nota: A lo largo de este curso, la palabra clave keywords, clusula, y la declaracin se utilizan de la
siguiente manera:
hm
aq
hm
aq
ue
ra
SELECT *
FROM departaments;
ra
ue
aq
hm
Nota: En SQL Developer, puede especificar una instruccin SQL en una hoja de SQL y haga clic
en "Ejecutar instruccin" icono o pulsar la tecla [F9] para ejecutar la sentencia. La salida mostrada
en la pgina resultado como se muestra.
aq
ue
ra
hm
Puede utilizar la instruccin SELECT para mostrar las columnas especficas de la tabla mediante la
especificacin de los nombres de la columna, separndolos por comas. El ejemplo muestra todos
los nmeros de departamento nmero y ubicacin de la tabla DEPARTMENTS.
En la clusula SELECT, especifique las columnas que desea en el orden en que desea que
aparezca en la salida. Por ejemplo, para mostrar la ubicacin antes del nmero de departamento
(de izquierda a derecha), se utiliza la siguiente declaracin:
SELECT location_id, department_id
FROM departments;
ra
ue
aq
hm
ra
Mediante el uso de las siguientes normas y pautas simples, usted puede construir las
declaraciones vlidas que son sencillas de leer y editar:
Las sentencias SQL no distinguen entre maysculas y minsculas (salvo que se indique).
Las sentencias SQL se pueden introducir en las lneas de uno o muchos.
Las palabras clave no se puede dividir en lneas o abreviadas.
Las clusulas se colocan generalmente en lneas separadas para facilitar la lectura y la
facilidad de edicin.
Las sangras se deben utilizar para hacer que el cdigo sea ms legible.
Palabras clave normalmente se introducen en maysculas, todas las dems palabras, como
nombres de tabla y nombres de columna se introducen en minsculas.
ue
aq
En SQL Developer, haga clic en el icono Ejecutar Secuencia de Comandos o pulsar [F5] para
ejecutar el comando o comandos en la hoja de SQL. Tambin puede hacer clic en el icono de
Ejecutar Sentencia o presione [F9] para ejecutar una sentencia SQL en la Hoja de SQL Server. El
icono Ejecutar Sentencia ejecuta la sentencia en el puntero del ratn en el cuadro Escriba
instrucciones SQL, mientras que el icono Ejecutar Secuencia de Comandos ejecuta todas las
instrucciones en el cuadro Sentencias de SQL. El icono de la Ejecucin de Sentencias muestra el
resultado de la consulta sobre la pgina resultados, mientras que el icono Ejecutar Secuencia de
Comandos emula la pantalla SQL * Plus y muestra el resultado en la pgina de salida de
secuencias.
hm
En SQL * Plus, termine la instruccin SQL con un punto y coma, y luego presione [Enter] para
ejecutar el comando.
SQL * Plus:
ra
hm
aq
ue
Se puede reemplazar la pantalla de ttulo de la columna con un alias. Los alias de columna se
tratan ms adelante en el esta leccin.
EXPRESIONES ARITMTICAS
Operador
+
*
/
Descripcin
Agregar
Restar
Multiplicar
Divide
Expresiones aritmticas
ra
Crear expresiones con los datos de nmero y fecha utilizando de los operadores aritmticos.
Operadores aritmticos
ue
Es posible que deba modificar la manera en la que se muestran los datos, o si lo desea, puede
desarrollar clculos, o ver escenarios que-s. Todo esto es posible utilizando expresiones
aritmticas. Una expresin aritmtica puede contener nombres de columna, constantes valores
numricos y operadores aritmticos.
La diapositiva muestra los operadores aritmticos que estn disponibles en SQL. Puede utilizar la
clusula aritmtica en cualquiera de los operadores de una sentencia SQL (con excepcin de la
clusula FROM).
hm
aq
Nota: Con la sentencia DATE y tipo de datos TIMESTAMP, puede utilizar solamente operadores de
adicin y sustraccin.
aq
ue
ra
hm
Se pueden utilizar parntesis para forzar la expresin que est encerrada por los parntesis a fin
que sean evaluados primero.
Reglas de prioridad:
Multiplicacin y divisin se desarrollan antes que la adicin y sustraccin.
Los operadores de la misma prioridad se evalan de izquierda a derecha.
Los parntesis se utilizan para anular la precedencia predeterminada o para aclarar la
sentencia.
hm
aq
ue
ra
ue
ra
hm
aq
Uso de parntesis
ra
Nota: Utilice parntesis para reforzar el orden estndar de precedencia, y para mejorar la claridad.
Por ejemplo, la expresin de la diapositiva se puede escribir como (12 * sueldo) + 100 sin cambios
en los resultados.
Se puede reemplazar las reglas de precedencia mediante el uso de parntesis para especificar el
orden deseado en los operadores que van a ser ejecutados.
hm
aq
ue
aq
ue
ra
hm
Si una fila carece de un valor de datos para una columna en particular, ese valor se dice que es
nula o contiene un valor null. Null es un valor que no est disponible, sin asignar, desconocido, o
inaplicable. Null no es el mismo que cero o un espacio en blanco. El cero es un nmero y el
espacio en blanco es un carcter.
Las columnas de cualquier tipo de datos pueden contener valores nulos. Sin embargo, algunas
limitaciones (NOT NULL y PRIMARY KEY) evita que se utilicen los valores nulos en la columna.
En la columna COMMISSION_PCT en la tabla EMPLOYEES, cuenta que slo un gerente de
ventas o representante de ventas puede ganar una comisin. Otros empleados no tienen derecho
a ganar comisiones. Un valor Null representa ese hecho.
Nota: Por defecto, SQL Developer utiliza el literal (null), para identificar los valores nulos. Sin
embargo, puede preparlo a fin de hacerlo algo ms relevante para usted. Para ello, seleccione
Preferencias en el men Herramientas. En el cuadro de dilogo Preferences, expanda el nodo de
Base de Datos. Haga clic en Avanzada y en las secciones del panel, configure "Mostrar Valor Nulo
como", introduzca el valor apropiado.
ra
ue
aq
hm
Las expresiones aritmticas que contienen un valor NULL se evalan como un valor nulo.
hm
aq
ue
ra
ra
Un alias de columna:
Cuando se muestra el resultado de una consulta, SQL Developer utiliza habitualmente el nombre
de la columna seleccionada como el ttulo de la columna. Este ttulo puede no ser descriptivo y, por
tanto, puede ser difcil de entender. Puede cambiar un ttulo de la columna mediante el uso de un
alias de columna.
hm
aq
ue
aq
ue
ra
hm
ra
El primer ejemplo muestra los nombres y los porcentajes de comisin de todos los empleados.
Tenga en cuenta la palabra opcional AS se ha usado antes en el nombre de alias de columna. El
resultado de la consulta es la misma si la palabra clave AS se utiliza o no. Adems, tenga en
cuenta que la sentencia SQL tiene los alias de las columnas, Name y Com, en minsculas,
mientras que el resultado de la consulta muestra el encabezado de la columna en maysculas.
Como se mencion en la diapositiva anterior, los encabezados de columna aparecen en
maysculas por defecto.
El segundo ejemplo muestra los apellidos y salarios anuales de todos los empleados. Debido a que
Annual Salary contiene un espacio, se ha encerrado entre comillas dobles. Ntese que el
encabezado de la columna partida en la salida es exactamente el mismo que el alias de columna.
OPERADOR DE CONCATENACIN
ue
Un operador de concatenacin:
hm
aq
Operador de concatenacin
Puede enlazar columnas a otras columnas, expresiones aritmticas, o valores constantes para
crear una Expresin Carcter mediante el operador de concatenacin (| |). Las columnas en cada
lado del operator son combinadas para hacer una columna de salida nica.
ra
Si concatenar un valor NULL con una cadena de caracteres, el resultado es una cadena de
caracteres. LAST_NAME || NULL resulta en LAST_NAME.
Nota: Tambin puede concatenar expresiones de fecha con otras expresiones o columnas.
ue
hm
aq
Los literales de fecha y el carcter debe estar encerrado entre comillas simples (''); nmero literales
necesitados no deben estar encerrados en una manera similar.
aq
ue
ra
El ejemplo de la diapositiva muestra los apellidos y los cdigos de trabajo de todos los empleados.
La columna tiene como encabezado Employee Details. Tenga en cuenta los espacios entre las
comillas simples en la instruccin SELECT. Los espacios mejoran la legibilidad de la salida.
hm
ra
ue
aq
hm
aq
ue
ra
hm
Muchas de las declaraciones de SQL utilizan caracteres literales en las expresiones o condiciones.
Si el propio literal contiene una marca, usted puede utilizar la cita (q) del operador y seleccionar su
propio delimitador de marca.
Puede elegir cualquier delimitador conveniente, de un solo byte o multibyte, o cualquiera de los
siguientes pares de caracter: [], {}, (), o <>.
En el ejemplo mostrado, la cadena contiene una comilla simple, que normalmente se interpreta
como un delimitador de cadena de caracteres. Al utilizar el operador q, sin embargo, los corchetes
[] se utilizan como los delimitadores de marca. La cadena entre los delimitadores de los soportes se
interpreta como una cadena de caracteres literal.
FILAS DUPLICADAS
La pantalla por defecto de las consultas es todas las filas, incluyendo filas duplicadas.
aq
ue
ra
SELECT department_id
FROM employees;
hm
Filas Duplicadas
A menos que usted indique lo contrario, SQL muestra los resultados de una consulta sin la
eliminacin de las filas duplicadas. El primer ejemplo de la diapositiva muestra todos los nmeros
de departamento de la tabla EMPLOYEES. Tenga en cuenta que los nmeros de departamento se
repiten.
ra
Para eliminar las filas duplicadas en el resultado, incluya la palabra clave DISTINCT en la
sentencia SELECT inmediatamente despus de la palabra clave SELECT. En el segundo ejemplo
de la diapositiva, la tabla EMPLOYEES actualmente contiene 12 filas, pero slo hay siete nmeros
de departamento nicos en la tabla.
Puede especificar varias columnas despus del calificador DISTINCT. El calificador DISTINCT
afecta a todas las columnas seleccionadas, y el resultado es cada combinacin distinta de las
columnas.
hm
aq
ue
Nota: Usted puede tambin especificar la palabra clave UNIQUE, la cual es un sinnimo para la
palabra reservada DISTINCT.
ra
ue
aq
hm
Nota: El comando DESCRIBE es apoyada tanto por SQL * Plus y SQL Developer.
aq
ue
ra
DESCRIBE employees;
hm
VARCHAR2 (s)
DATE
CHAR (s)
Descripcin
Nmero valor que tiene un nmero mximo de p dgitos, con s digitos a la
derecha del punto decimal
De longitud variable de caracteres valor de s tamao mximo
Fecha y valor de tiempo entre el 1 de enero de 4712 AC y 31 de diciembre de
9999 DC
Caracteres de longitud fija el valor de tamao s
EVALUACIN RPIDA
Identifique cuales de las siguientes sentencias son ejecutadas exitosamente:
ue
ra
hm
aq
RESUMEN
En esta leccin, usted debe haber aprendido a:
Escriba una instruccin SELECT que:
ra
En esta leccin, debe haber aprendido cmo recuperar datos de una tabla de base de datos con la
sentencia SELECT.
En la siguiente sintaxis:
hm
aq
SELECT
*
DISTINCT
Column | expression
Alias
FROM table
ue
PRCTICA 1:
Esta prctica cubre los siguientes temas:
Parte 1
Ponga a prueba sus conocimientos:
ra
En esta prctica, usted escribe consultas SELECT simples. Las consultas cubren la mayor parte de
las sentencias y operaciones SELECT que ha aprendido en esta leccin.
Verdadero / Falso
ue
aq
Parte 2
Tenga en cuenta los siguientes puntos antes de comenzar con las prcticas:
Guardar todos los archivos de laboratorio en una ubicacin segura
hm
Ingrese las sentencias SQL en una hoja de trabajo de SQL. Para guardar una secuencia de
comandos en SQL Developer, se hace necesario que la hoja de SQL est activo y luego en el
men Archivo, seleccione Guardar como o hacia la derecha pinchando la hoja de SQL y
seleccione Guardar archivo para guardar la instruccin SQL como lab_ <lessonno> _ <stepno>
.sql script. Cuando se va a modificar un script existente, haga uso de Guardar como para
guardarlo con un nombre diferente.
Para ejecutar la consulta, haga clic en el icono Ejecutar Sentencia en la Hoja de trabajo de
SQL. Por otra parte, puede presionar [F9]. Para las sentencias DML y DDL, utilice el icono de
Run Script or pulse la tecla [F5].
Usted ha sido contratado como programador de SQL para Acme Corporation. Su primera tarea es
crear algunos reportes sobre la base de datos de las tablas de Recursos Humanos.
ue
ra
hm
aq
ue
ra
hm
aq
7. El departamento de recursos humanos quiere una consulta para mostrar todos los cdigos de
trabajo singulares de la tabla Employees.
Parte 3
ra
ue
hm
aq
9.
10. Para familiarizarse con los datos de la tabla EMPLOYEES, cree una consulta para mostrar
toda la informacin de la tabla. Separe cada salida de la columna por una coma. Nombre la
columna como THE_OUTPUT.
ra
ue
aq
hm