Recuperando Datos SQL Select
Recuperando Datos SQL Select
Recuperando Datos SQL Select
Sin embargo, es
posible que deba restringir las columnas que se muestran. Esta lección describe la instrucción
SELECT que se necesita para realizar estas acciones. Además, es posible que desee crear
sentencias SELECT que se puedan usar más de una vez.
Una instrucción SELECT recupera información de la base de datos. Con una instrucción SELECT,
puede hacer lo siguiente:
Proyección: selecciona las columnas de una tabla que devuelve una consulta. Selecciona
algunas o tantas de las columnas como sea necesario.
Selección: selecciona las filas de una tabla que devuelve una consulta. Se pueden utilizar varios
criterios para restringir las filas que se recuperan.
Uniones: Reúne los datos que se almacenan en diferentes tablas especificando el enlace entre
ellos.
Nota: A lo largo de este curso, las palabras palabra clave, cláusula y declaración se utilizan de la
siguiente manera:
Una palabra clave hace referencia a un elemento SQL individual; por ejemplo, SELECT y FROM son
palabras clave.
Una cláusula es parte de una instrucción SQL, por ejemplo, SELECT employee_id, last_name, etc.
Una declaración es una combinación de dos o más cláusulas, por ejemplo, SELECT * FROM
employees
SELECT *
FROM employees;
Puede mostrar todas las columnas de datos en una tabla siguiendo la palabra clave SELECT con un
asterisco (*).
También puede mostrar todas las columnas de la tabla enumerándolas después de la palabra clave
SELECT. Por ejemplo, la siguiente instrucción SQL muestra todas las columnas y todas las filas de la
tabla DEPARTMENTS:
Puede usar la declaración SELECT para mostrar columnas específicas de la tabla especificando los
nombres de las columnas separados por comas. El ejemplo de la consulta anterior muestra todos
los números de departamento y de ubicación de la tabla DEPARTMENTS.
En la cláusula SELECT, especifique las columnas que desea en el orden en que desea que aparezcan
en la salida. Por ejemplo, para mostrar la ubicación antes del número de departamento (de
izquierda a derecha), utilice la siguiente instrucción:
Expresiones aritméticas
Es posible que deba modificar la forma en que se muestran los datos, o que desee realizar cálculos
o ver escenarios hipotéticos. Todo esto es posible usando expresiones aritméticas. Una expresión
aritmética puede contener nombres de columnas, valores numéricos constantes y operadores
aritméticos.
Operadores aritméticos
La diapositiva enumera los operadores aritméticos que están disponibles en SQL. Puede utilizar
operadores aritméticos en cualquier cláusula de una instrucción SQL (excepto la cláusula FROM).
Nota: con los tipos de datos DATE y TIMESTAMP, solo puede usar los operadores de suma y resta.
Uso de operadores aritméticos
El ejemplo anterior usa el operador de suma para calcular un aumento de salario de $300 para
todos los empleados. También muestra una columna SALARY+300 en la salida. Tenga en cuenta
que la columna calculada resultante, SALARIO+300, no es una columna nueva en la tabla
EMPLEADOS; es solo para exhibición. De forma predeterminada, el nombre de una nueva columna
proviene del cálculo que la generó; en este caso, salary+300.
Nota: el servidor de Oracle ignora los espacios en blanco antes y después del operador aritmético.
Precedencia de operadores
Si una expresión aritmética contiene más de un operador, primero se evalúan la multiplicación y la
división. Si los operadores en una expresión tienen la misma prioridad, la evaluación se realiza de
izquierda a derecha.
Puede usar paréntesis para forzar que la expresión encerrada entre paréntesis se evalúe primero.
Reglas de precedencia
La multiplicación y la división ocurren antes que la suma y la resta.
Los operadores de la misma prioridad se evalúan de izquierda a derecha.
Los paréntesis se utilizan para anular la precedencia predeterminada o para aclarar la
declaración.
Si el salario es 24000, primero se divide el salario en 30 y después se multiplica por 2 siendo igual a
16,000.
En este caso primero se divide 30 entre 2 y después el resultado se multiplica con el salario.
Uso de paréntesis
Puede anular las reglas de precedencia utilizando paréntesis para especificar el orden deseado en
el que se ejecutarán los operadores. El segundo ejemplo muestra el apellido, el salario y la
compensación anual de los empleados. Calcula la compensación anual de la siguiente manera:
agrega un bono mensual de $100 al salario mensual y luego multiplica ese subtotal por 12. Debido
a los paréntesis, la suma tiene prioridad sobre la multiplicación.
Si una fila carece de un valor de datos para una columna en particular, se dice que ese valor es
nulo o contiene un valor nulo.
Las columnas de cualquier tipo de datos pueden contener valores nulos. Sin embargo, algunas
restricciones (NOT NULL y PRIMARY KEY) evitan que se utilicen valores nulos en la columna.
Si cualquier valor de columna en una expresión aritmética es nulo, el resultado es nulo. Por
ejemplo, si intenta realizar una división por cero, obtiene un error. Sin embargo, si divide un
número por nulo, el resultado es nulo o desconocido. En el ejemplo, el empleado Whalen no
recibe ninguna comisión. Dado que la columna COMMISSION_PCT de la expresión aritmética es
nula, el resultado es nulo.
Un alias de columna:
Cambia el nombre de un encabezado de columna
Es útil con los cálculos
Inmediatamente después del nombre de la columna (también puede haber 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 distingue entre
mayúsculas y minúsculas
Al mostrar el resultado de una consulta, SQL Developer normalmente usa el nombre de la columna
seleccionada como encabezado de columna. Este encabezado puede no ser descriptivo y, por lo
tanto, puede ser difícil de entender. Puede cambiar un encabezado de columna utilizando un alias
de columna.
Especifique el alias después de la columna en la lista SELECT usando un espacio en blanco como
separador. De forma predeterminada, los encabezados de alias aparecen en mayúsculas. Si el alias
contiene espacios o caracteres especiales (como # o $), o si distingue entre mayúsculas y
minúsculas, escriba el alias entre comillas dobles (" ").
El primer ejemplo muestra los nombres y los porcentajes de comisión de todos los empleados.
Tenga en cuenta que la palabra clave AS opcional se ha utilizado antes del nombre de alias de la
columna. El resultado de la consulta es el mismo tanto si se usa la palabra clave AS como si no.
Además, tenga en cuenta que la instrucción SQL tiene los alias de columna, nombre y
comunicación, en minúsculas, mientras que el resultado de la consulta muestra los encabezados
de las columnas en mayúsculas. Como se mencionó en la diapositiva anterior, los encabezados de
las columnas aparecen en mayúsculas de forma predeterminada.
El segundo ejemplo muestra los apellidos y los salarios anuales de todos los empleados. Como el
salario anual contiene un espacio, se ha encerrado entre comillas dobles. Tenga en cuenta que el
encabezado de la columna en la salida es exactamente el mismo que el alias de la columna.
Nota: No se puede hacer referencia a un alias en la lista de columnas que contiene la definición de
alias.
Operador de concatenación
Puede vincular columnas a otras columnas, expresiones aritméticas o valores constantes para
crear una expresión de caracteres mediante el operador de concatenación (||). Las columnas a
ambos lados del operador se combinan para formar una sola columna de salida.
El ejemplo de la diapositiva muestra los apellidos y los códigos de trabajo de todos los empleados.
La columna tiene el encabezado “Employee Details”. Tenga en cuenta los espacios entre las
comillas simples en la sentencia SELECT. Los espacios mejoran la legibilidad de la salida.
En el siguiente ejemplo, el apellido y el salario de cada empleado se concatenan con un literal,
para dar más significado a las filas devueltas:
Filas duplicadas
SELECT department_id
FROM employees;
Nota: también puede especificar la palabra clave UNIQUE, que es un sinónimo de la palabra clave
DISTINCT.
DESCRIBE employees
Puede mostrar la estructura de una tabla utilizando el comando DESCRIBE. El comando muestra
los nombres de las columnas y los tipos de datos, y le muestra si una columna debe contener
datos (es decir, si la columna tiene una restricción NOT NULL).
En la sintaxis, el nombre de la tabla es el nombre de cualquier tabla, vista o sinónimo existente al
que pueda acceder el usuario.
Usando la interfaz GUI de SQL Developer, puede seleccionar la tabla en el árbol de Conexiones y
usar la pestaña Columnas para ver la estructura de la tabla.
Nota: DESCRIBE es un comando SQL *PLUS compatible con SQL Developer. Se abrevia como DESC.
El ejemplo de la diapositiva muestra información sobre la estructura de la tabla EMPLOYEES
usando el comando DESCRIBE. En la pantalla resultante, NULL indica que los valores de esta
columna pueden ser desconocidos. NOT NULL indica que una columna debe contener datos. Tipo
muestra el tipo de datos de una columna.
Los tipos de datos se describen en la siguiente tabla: