Você está na página 1de 6

1. Cree una consulta para mostrar el apellido y el salario de los empleados que ganan ms de $ 12,000.

SELECT last_name, salary FROM employees where salary>12000; 2. Cree una consulta para mostrar el apellido del empleado y nmero de departamento para el empleado nmero 176. SELECT n.last_name, d.department_id FROM employees n ,departments d where employee_id='176'; 3. Visualice el apellido del empleado, ID de trabajo, y la fecha de los empleados contratados empezar entre el 20 de febrero de 2001 y el 1 de mayo de 2005. Ordenar la consulta en orden ascendente por fecha de inicio. SELECT last_name, job_id , email from employees where hire_date>=('20/02/01') and hire_date <= to_date('01/05/05') ORDER BY hire_date; 4. Muestre el apellido y la fecha de cada empleado que fue contratado en contratar 2005. SELECT last_name, hire_date from employees where hire_date>=('01/01/05') and hire_date <= to_date('31/12/05'); 5. Muestre el apellido , el trabajo, y el salario de todos los empleados cuyo trabajo es ventas recepcionista representante o de valores y cuyo salario no es igual a $ 2,500, $ 3,500, o $ 7,000. SELECT e.last_name, j.job_title, e.salary FROM employees e, jobs j

where e.salary !=(2500) and e.salary !=(3500) and e.salary !=(7000); 6. Escriba una consulta para mostrar el apellido, nmero de departamento, y nombre del departamento para todos los empleados . SELECT e.last_name, d.department_id, d.department_name from employees e, departments d; 7. Escriba una consulta para mostrar el apellido del empleado , nombre del departamento, ID de ubicacin , y la ciudad de todos los empleados que ganan una comisin . SELECT e.last_name, d.department_name, d.location_id, s.country_name, e.commission_pct from employees e, departments d, countries s where e.commission_pct>0; 8. Escriba una consulta para mostrar el apellido , trabajo, nmero de departamento , y nombre del departamento para todos los empleados que trabajan en Toronto SELECT e.last_name,j.job_title, d.department_id,d.department_name, l.city from employees e, jobs j, departments d,locations l where l.city='Toronto'; 9. Crear una consulta que muestra apellidos de los empleados, nmeros de departamento, y todos los empleados que trabajan en el mismo departamento como un hecho empleado. D a cada columna de una etiqueta adecuada ( colega ). select e.last_name, e.department_id, c.last_name colleague from employees e join employees c on (e.department_id = c.department_id) where e.employee_id <> c.employee_id; 10. Crear una consulta que muestra empleado ( apellidos , nombres de pila ) y su jefe.

SELECT e.last_name||' '||e.first_name as empleado, m.last_name "Jefe" FROM employees e LEFT OUTER JOIN employees m ON (e.manager_id = m.employee_id) 11. Crear una consulta que muestra el nombre , el trabajo, el nombre del departamento , salario, y grado para todos los empleados SELECT e.last_name||' '||e.first_name,j.job_title,d.department_name,e.salary,decode (j.job_id, 'ST_CLERK', 'E', 'SA_REP', 'D', 'IT_PROG', 'C', 'ST_MAN', 'B', 'AD_PRES', 'A', '0')GRADE from DEPARTMENTS d, JOBS j,EMPLOYEES e where e.department_id = d.department_id and e.job_id = j.job_id; 12. Visualizar el ms alto, ms bajo, suma, y el salario promedio de todos empleados. Etiquete las columnas Mximo, Mnimo, Suma y Promedio, respectivamente. SELECT ROUND(MAX(salary),0) "Maximo", ROUND(MIN(salary),0) "Minimo", ROUND(SUM(salary),0) "Suma", ROUND(AVG(salary),0) "Promedio" FROM employees;

13. Escriba una consulta para mostrar de cada departamento nombre, ubicacin, nmero de los empleados, y el salario promedio para todos los empleados de ese departamento. Etiquete las columnas Nombre, Ubicacin , Nmero de personas , y el Salario , respectivamente . Ronda el salario promedio con dos decimales. (Nombre, ubicacin, nmero de personas , el salario ) SELECT department_name as Names,street_address as Locations,count(employee_id) as Numbers, ROUND(avg(salary), 2) as Salary FROM departments d,locations l, employees e where d.location_id = l.location_id and d.department_id = e.department_id group by department_name, street_address; 14. Crear una consulta que mostrar el nmero total de empleados y, de ese total, el nmero de empleados contratados en 2005, 2006 , 2007 . crear ttulos de las columnas apropiadas. SELECT COUNT(*) TOTAL, SUM(DECODE(TO_CHAR(HIRE_DATE,'YYYY'),2005,1,0))"2005", SUM(DECODE(TO_CHAR(HIRE_DATE,'YYYY'),2006,1,0))"2006", SUM(DECODE(TO_CHAR(HIRE_DATE,'YYYY'),2007,1,0))"2007" FROM EMPLOYEES; 15. Escriba una consulta para mostrar el apellido y la fecha de cualquier empleado contratar en el mismo departamento que Zlotkey . Excluir Zlotkey SELECT LAST_NAME, SALARY FROM EMPLOYEES WHERE last_name NOT LIKE '%Zlotkey%'; 16. Crear una consulta para mostrar los nmeros de los empleados y los apellidos de todos los empleados que ganan ms que el salario promedio. Clasificar los resultados en orden ascendente del salario. SELECT employee_id,last_name,salary FROM EMPLOYEES

WHERE SALARY > (SELECT AVG(SALARY) FROM EMPLOYEES) ORDER BY SALARY ASC;
as consultas de seleccin se utilizan para indicar al motor de datos que devuelva informacin de las bases de datos, esta informacin es devuelta en forma de conjunto de registros que se pueden almacenar en un objeto recordset. Este conjunto de registros es modificable. Consultas bsicas La sintaxis bsica de una consulta de seleccin es la siguiente:

SELECT FROM

Campos Tabla

En donde campos es la lista de campos que se deseen recuperar y tabla es el origen de los mismos, por ejemplo:

SELECT FROM

Nombre, Telfono Clientes

Esta consulta devuelve un recordset con el campo nombre y telfono de la tabla clientes.

Ordenar los registros Adicionalmente se puede especificar el orden en que se desean recuperar los registros de las tablas mediante la clasula ORDER BY Lista de Campos. En donde Lista de campos representa los campos a ordenar. Ejemplo:

SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY Nombre


Esta consulta devuelve los campos CodigoPostal, Nombre, Telefono de la tabla Clientes ordenados por el campo Nombre. Se pueden ordenar los registros por mas de un campo, como por ejemplo:

SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY CodigoPostal, Nombre


Incluso se puede especificar el orden de los registros: ascendente mediante la clasula (ASC -se toma este valor por defecto) descendente (DESC)

SELECT CodigoPostal, Nombre, Telefono FROM Clientes ORDER BY CodigoPostal DESC, Nombre ASC

SQL COUNT EJEMPLO - EXPRESIN INDIVIDUAL


La forma ms sencilla de usar la funcin CONTAR SQL sera devolver un solo campo que devuelve el recuento de algo. Por ejemplo, es posible que desee saber cuntos empleados tienen un salario que est por encima de $ 25,000 / ao. SELECT COUNT (*) AS "Nmero de empleados" DESDE empleados WHERE salario> 25000; En este ejemplo, la funcin COUNT SQL, hemos escogido un alias del COUNT (*) expresin como "Nmero de empleados". Como resultado, el "nmero de empleados" se mostrar como el nombre del campo cuando se devuelve el conjunto de resultados.

SQL COUNT EJEMPLO - UTILIZACIN DE SQL CLUSULA DISTINCT


Puede utilizar la clusula DISTINCT SQL dentro de la funcin COUNT SQL. Por ejemplo, la sentencia SQL a continuacin devuelve el nmero de departamentos nicos, donde por lo menos un empleado gana ms de $ 25,000 / ao. SELECT COUNT (DISTINCT departamento) AS "departamentos nicos" DESDE empleados WHERE salario> 25000;