Objetivos
- Conocer las capacidades de la sentencia SELECT
- Ejecutar una sentencia SELECT básica.
Sintaxis
- SELECT *|{[DISTINCT] column|expresion [alias],…..} FROM table;
- SELECT Identifica las columnas que serán desplegadas.
- FROM Identifica la tabla que contiene estas columnas.
- DISTINCT Suprime los registros duplicados.
- column|expresion Son los nombres de las columnas o las expresiones
- Alias Especifica un nombre diferente para los encabezados de las columnas
Seleccionando todas las columnas
Este ejemplo muestra todos los registros de la tabla departments.
SQL> SELECT * FROM DEPARTMENTS; DEPARTMENT_ID DEPARTMENT_NAME MANAGER_ID LOCATION_ID ------------- ------------------------------ ---------- ----------- 10 Administration 200 1700 20 Marketing 201 1800 30 Purchasing 114 1700 40 Human Resources 203 2400 50 Shipping 121 1500 60 IT 103 1400 70 Public Relations 204 2700 80 Sales 145 2500 90 Executive 100 1700 100 Finance 108 1700 110 Accounting 205 1700 |
Podemos seleccionar solo columnas específicas.
SQL> SELECT DEPARTMENT_ID,DEPARTMENT_NAME FROM DEPARTMENTS; DEPARTMENT_ID DEPARTMENT_NAME ------------- ------------------------------ 10 Administration 20 Marketing 30 Purchasing 40 Human Resources 50 Shipping 60 IT 70 Public Relations 80 Sales 90 Executive 100 Finance 110 Accounting |
Operaciones aritméticas, alias y definición de valores nulos.
Podemos usar los operadores (+ – * / ) con los datos numéricos y datos de fechas, estos operadores son útiles para realizar cálculos específicos de acuerdo a nuestras necesidades.Como se muestra a continuación.
SELECT LAST_NAME, 12*SALARY*COMMISION_PCT FROM EMPLOYEES;
Con tipos de datos DATE y TIMESTAMP se usan para almacenar datos tipo FECHA solo puedes usar operaciones de + suma y – resta.
SELECT SYSDATE+1 FROM DUAL;
En Oracle, SYSDATE se usa para recuperar el día actual y DUAL es una tabla que se usa para recuperar un dato que no se encuentra en una tabla.
En caso de que existan varios operadores en una misma expresión aritmética, el orden de evaluación es de izquierda a derecha, donde la multiplicación y la división tienen prioridad sobre la suma y resta. Para darle mayor claridad puedes usar paréntesis en tus expresiones.Donde se calcula independientemente lo que se encuentre entre los paréntesis.
SELECT 12*(SALARIO+50)*COMMISION_PCT FROM FROM EMPLOYEES;
Con respecto a los alias en las columnas, podemos agregar alias a las columnas de 3 formas primero colocando la clave AS después del nombre de la columna.
SELECT SYSDATE AS FECHA FROM DUAL;
Después del nombre de la columna usando una cadena de caracteres entrecomillas
SELECT SYSDATE “FECHA ACTUAL” FROM DUAL;
Simplemente escribiendo una palabra después del nombre de la columna.
SELECT SYSDATE FECHA FROM DUAL;
Los valores nulos no es lo mismo que cero o espacio en blanco, no tiene un valor asignado, conocido o aplicable a operaciones aritméticas ya que se generaría un error. En este caso habrá que darle un tratamiento especial para lo cual existen funciones especiales para evitar estos errores.
En el siguiente ejemplo, se muestra la selección de datos colocando el alias NOMBRE a la columna LAST_NAME, el alias COMMISION a la columna COMMISION_PCT y el alias “SALARIO ANUAL” a la expresión aritmética SALARY*12.
SQL> SELECT LAST_NAME AS NOMBRE, COMMISSION_PCT COMISION, SALARY*12 "SALARIO ANUAL"FROM EMPLOYEES; NOMBRE COMISION SALARIO ANUAL ------------------------- ---------- ------------- OConnell 31200 Grant 31200 Whalen 52800 Hartstein 156000 Fay 72000 Mavris 78000 Baer 120000 Higgins 144096 Gietz 99600 King 288000 Kochhar 204000 |
Concatenación, palabra clave DISTINCT y el comando DESCRIBE
Para concatenar o unir cadenas de caracteres se usa la doble barra vertical || y crea como resultado una sola cadena o una sola columna de caracteres. Se pueden usar cadenas escritas encerradas entre comillas sencillas ‘.
SELECT LAST_NAME||’ es ‘||JOB_ID FROM EMPLOYEES;
Para eliminar los registros duplicados del resultado de una consulta usamos la palabra clave DISTINCT.
SELECT DISTINCT DEPARTMENT_ID FROM EMPLOYEES;
El comando describe se usa para mostrar la estructura de una tabla.
DESCRIBE EMPLOYEES;
SQL> DESC EMPLOYEES Name Null? Type ----------------------------------------- -------- ---------------------------- EMPLOYEE_ID NOT NULL NUMBER(6) FIRST_NAME VARCHAR2(20) LAST_NAME NOT NULL VARCHAR2(25) EMAIL NOT NULL VARCHAR2(25) PHONE_NUMBER VARCHAR2(20) HIRE_DATE NOT NULL DATE JOB_ID NOT NULL VARCHAR2(10) SALARY NUMBER(8,2) COMMISSION_PCT NUMBER(2,2) MANAGER_ID NUMBER(6) DEPARTMENT_ID NUMBER(4) |
EL tipo de dato DATE se usa para almacenar las fechas.
El tipo de dato VARCHAR2 se usa para almacenar cadenas de caracteres con la longitud que se defina entre paréntesis.
El tipo de dato NUMBER almacena datos numéricos con o sin decimales según se defina entre paréntesis.
No hay comentarios:
Publicar un comentario