Los selects y sus funciones en oracle

Solo disponible en BuenasTareas
  • Páginas : 15 (3669 palabras )
  • Descarga(s) : 0
  • Publicado : 21 de septiembre de 2010
Leer documento completo
Vista previa del texto
LABORATORIO #2
* Inicie la pagina de base de datos de ORACLE 10g (Password de System es usps)
* Si es necesario desbloque el usuario HR y colóquele como password HR
* Login con HR
Con los SELECTS que se le dan a continuación haga lo siguiente: subraye aquellos términos que no comprenda, investíguelos si es necesario para que pueda explicar con sus propias palabras lo que ocurre alejecutar los siguientes selects, además coloque el resultado que generan los mismos (si son varios registros mostrar el primero).
EJEMPLO:

SELECT SYSDATE "NOW" FROM DUAL;

SYSDATE Muestra la fecha actual del sistema
DUAL Es una tabla especial presente por defecto en todas las instalaciones dela base de datos de ORACLE

RESULTADO

NOW
10-SEP-09

EXPLICACION: Este select muestra la fecha actual según el servidor.

SELECT USER FROM DUAL;
DUAL = Es una tabla especial presente por defecto en todas las instalaciones de la base de datos de ORACLEUSER |
ANONYMOUS |

Explicacion: Este select muestra cuando el usuario es anonimo y no hay datos registrados de el, por lo tanto el sistema en el cuadro indica cuando es anónimo.

SELECT employee_id, hire_date, SYSDATE FROM employees WHERE ROWNUM < 10;
Sysdate: fecha actual
Hire date: fecha de contratación
rownum: indica el numero de la fila < 10
EMPLOYEE_ID | HIRE_DATE |SYSDATE |
100 | 17/06/87 | 20/09/10 |
101 | 21/09/89 | 20/09/10 |
102 | 13/01/93 | 20/09/10 |
103 | 03/01/90 | 20/09/10 |
104 | 21/05/91 | 20/09/10 |
105 | 25/06/97 | 20/09/10 |
106 | 05/02/98 | 20/09/10 |
107 | 07/02/99 | 20/09/10 |
108 | 17/08/94 | 20/09/10 |

EXPLICACION: este select ingresa las filas con datos de los empleados en el cual incluye el id y la fecha decontratacion.
Where rownum < 10 = esta frase indica el numero de filas que abran en este caso; donde numero de fila sea < 10.

SELECT employee_id, (commission_pct * 100) "Commission %" FROM employees;

EMPLOYEE_ID | Commission % |
100 | - |
101 | - |
102 | - |
103 | - |
104 | - |
105 | - |
106 | - |
107 | - |
108 | - |
109 | - |
Hay más de 10 filas disponibles.Aumente el selector de filas para ver más. |

Explicación: selecciona el código de los empleados y en pantalla muestra los resultados de los empleados donde indica la comisión de cada empleado sobre su sueldo base. La operación es (commission_pct * 100) para los empleados.

SELECT employee_id, ((salary + 100) * 12) "Proposed new annual salary"
FROM employees WHERE manager_id = 145;EMPLOYEE_ID | Proposed new annual salary |
150 | 121200 |
151 | 115200 |
152 | 109200 |
153 | 97200 |
154 | 91200 |
155 | 85200 |

Explicacion: Se selecciona el codigo del empleado desde el empleado gerente = 145.aqui muestra la propuesta anual de un nuevo salario en base a un incremento de 100 por cada mes

SELECT employee_id, ROUND(salary/30, 2) "Salary per day" FROM employees;
ROUND:redondear
EMPLOYEE_ID | Salary per day |
100 | 800 |
101 | 566.67 |
102 | 566.67 |
103 | 300 |
104 | 200 |
105 | 160 |
106 | 160 |
107 | 140 |
108 | 400 |
109 | 300 |
Hay más de 10 filas disponibles. Aumente el selector de filas para ver más. |

Explicación: el select indica el salario que el empleado gana, de forma redondeada. Dividiendo el salario entre los 30 dias delmes y con dos cifras decimales. osea que si en el comando no se marcan los decimales este lo redondea automáticamente.

SELECT employee_id, TRUNC(salary/30, 0) "Salary per day" FROM employees;
Trunc: truncar o cortar
EMPLOYEE_ID | Salary per day |
100 | 800 |
101 | 566 |
102 | 566 |
103 | 300 |
104 | 200 |
105 | 160 |
106 | 160 |
107 | 140 |
108 | 400 |
109 | 300 |...
tracking img