Beruflich Dokumente
Kultur Dokumente
PROCESANDO INFORMACIN
SENTENCIA SQL SELECT
OBJETIVOS
Despus de completar esta leccin, usted debera ser capaz de hacer lo siguiente:
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.
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".
SENTENCIA BSICA SELECT
En la siguiente sintaxis:
Nota: A lo largo de este curso, la palabra clave keywords, clusula, y la declaracin se utilizan de la
siguiente manera:
SELECT *
FROM departaments;
Puede mostrar todas las columnas de datos en una tabla siguiendo la palabra clave SELECT con
un asterisco (*). En el ejemplo, la tabla de departamento contiene cuatro columnas:
DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID y LOCATION_ID. La tabla contiene
ocho filas, una por cada departamento.
Tambin puede visualizar todas las columnas de la tabla de lista de todas las columnas que siguen
a 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 DEPARTMENTS:
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:
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.
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.
En SQL * Plus, termine la instruccin SQL con un punto y coma, y luego presione [Enter] para
ejecutar el comando.
ENCABEZADOS DE COLUMNAS DE VALORES PREDETERMINADOS
SQL Developer:
Por defecto la partida de alineacin: alineado a la izquierda
Por defecto la partida pantalla: Maysculas
SQL * Plus:
Partidas de caracteres y la fecha de columna se alinea a la izquierda.
Nmero de ttulos de columna se alinea a la derecha.
Por defecto la partida pantalla: Maysculas
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
Crear expresiones con los datos de nmero y fecha utilizando de los operadores aritmticos.
Operador Descripcin
+ Agregar
- Restar
* Multiplicar
/ Divide
Expresiones aritmticas
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.
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).
Nota: Con la sentencia DATE y tipo de datos TIMESTAMP, puede utilizar solamente operadores de
adicin y sustraccin.
USO DE OPERADORES ARITMTICOS
Nota: El servidor de Oracle ignora los espacios en blanco antes y despus de que el operador
aritmtico.
Reglas de prioridad:
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.
Uso de parntesis
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.
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.
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.
VALORES NULO EN EXPRESIONES ARITMETICAS
Las expresiones aritmticas que contienen un valor NULL se evalan como un valor nulo.
Si algn valor de la columna en una expresin aritmtica es nulo, el resultado es nulo. Por ejemplo,
si usted intenta realizar la divisin por cero, se obtiene un error. Sin embargo, si se divide un
nmero por nulo, el resultado es un valor Null o desconocido.
Un alias de columna:
Cambia el nombre de encabezado de una columna
Es til con clculos
Inmediatamente sigue el 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 o caracteres especiales, o si se trata de
maysculas y minsculas
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.
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
Un operador de concatenacin:
Enlaza 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 Carcter mediante el operador de concatenacin (| |). Las columnas en cada
lado del operator son combinadas para hacer una columna de salida nica.
En el ejemplo, LAST_NAME y JOB_ID se concatenan, y se les da el Alias de Employees. Note que
el apellido de los empleados y el cdigo de trabajo se combinan para hacer una columna de salida
nica.
La palabra clave AS antes del nombre alias hace que la clusula SELECT sea ms fcil de leer.
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.
Los literales de fecha y el carcter debe estar encerrado entre comillas simples (''); nmero literales
necesitados no deben estar encerrados en una manera similar.
USO DE CADENAS DE CARACTERES LITERALES
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.
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.
SELECT department_id
FROM employees;
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.
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.
Nota: Usted puede tambin especificar la palabra clave UNIQUE, la cual es un sinnimo para la
palabra reservada DISTINCT.
En la sintaxis, tablename es el nombre de cualquier tabla existente, vista o sinnimo que es de uso
para el usuario
Usando de la interfaz GUI de SQL Developer, puede seleccionar la tabla en el rbol de conexiones
y use la ficha Columns para ver la estructura de la tabla.
Nota: El comando DESCRIBE es apoyada tanto por SQL * Plus y SQL Developer.
USO DEL COMANDO DESCRIBE
DESCRIBE employees;
En la pantalla resultante, Null indica que los valores de esta columna puede ser desconocida. NO
NULL indicas que una columna debe contener datos. Type muestra el tipo de datos para una
columna.
En esta leccin, debe haber aprendido cmo recuperar datos de una tabla de base de datos con la
sentencia SELECT.
En la siguiente sintaxis:
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.
Parte 1
Verdadero / Falso
SELECT *
FROM job_grades;
Verdadero / Falso
Parte 2
Tenga en cuenta los siguientes puntos antes de comenzar con las prcticas:
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.
4. Su primera tarea es determinar la estructura de la tabla DEPARTMENTS y su contenido.
7. El departamento de recursos humanos quiere una consulta para mostrar todos los cdigos de
trabajo singulares de la tabla Employees.
Parte 3
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.