DP 6 2 Practice Esp

Luis Fernando Bermúdez García academy.oracle.com Programación de Bases de Datos con SQL 6-2: Cláusulas de Unión Activid

Views 414 Downloads 1 File size 63KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Luis Fernando Bermúdez García academy.oracle.com

Programación de Bases de Datos con SQL 6-2: Cláusulas de Unión Actividades de Práctica Objetivos    

Crear y ejecutar una unión natural utilizando la sintaxis de unión ANSI-99 SQL Crear una unión cruzada utilizando la sintaxis de unión ANSI-99 SQL Explicar la importancia de tener un estándar para SQL definido por ANSI Describir una necesidad de negocio para combinar la información de varios orígenes de datos

Terminología Identifique el término para cada una de las siguientes definiciones. ON Clause USING clause

Permite una unión natural basada en una condición arbitraria o en dos columnas con nombres diferentes. Realiza una unión igualitaria basada en un nombre de columna especificado

Inténtelo/Resuélvalo Utilice la base de datos Oracle para los problemas 1-6. 1. Una la tabla de ubicaciones y departamentos de la base de datos Oracle utilizando la columna location_id. Limite los resultados solo a la ubicación 1400. R:SELECT department_id,department_name, location_id, city FROM departments JOIN locations USING (location_id) WHERE location_id = 1400; 2. Una las tablas d_play_list_items, d_track_listings y d_cds de DJs on Demand mediante la sintaxis JOIN USING Incluya el ID de canción, el número de CD, el título y los comentarios en la salida.

R:SELECT song_id, cd_number, title, comments FROM d_cds JOIN d_track_listings USING (cd_number)  JOIN d_play_list_items USING (song_id); 3. Muestre la ciudad, el nombre de departamento, el identificador de ubicación y el identificador de los departamentos 10, 20 y 30 de la ciudad de Seattle. R:SELECT city, department_name, location_id, department_id Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas comerciales de sus respectivos propietarios.

Luis Fernando Bermúdez García

FROM departments JOIN locations USING (location_id) WHERE department_id in (10, 20 , 30) AND city = 'Seattle'; 4. Muestre el nombre del país, el ID de región, así como el nombre de región de Americas. R:SELECT country_name, region_id, region_name FROM countries JOIN regions USING(region_id) WHERE region_name = 'Americas'; 5. Escriba una sentencia que una las tablas employees y jobs. Muestre el nombre y el apellido, la fecha de contratación, el ID de cargo, el cargo y el salario máximo. Limite la consulta a los empleados que tienen cargos con los que pueden ganar más de 12.000 $. R:SELECT first_name, last_name, hire_date, job_id, job_title, max_salary FROM employees JOIN jobs USING (job_id) WHERE max_salary > 12000; 6. Muestre el cargo, el nombre del empleado, el apellido y el correo electrónico de todos los empleados que son empleados de almacén. SELECT job_title, first_name, last_name, LOWER(email) , 'somecomname.sometld' as email FROM employees JOIN jobs USING(job_id) WHERE job_title = 'Stock Clerk' ; *En esta ejecucion al momento de correrla en los correos me muestra “somecomname.sometld”, no se que tenga mal Las siguientes preguntas utilizan la sintaxis JOIN…ON: 7. Escriba una sentencia que muestre el ID de empleado, el nombre, el apellido, el ID de jefe, el nombre del jefe y el apellido del jefe de todos los empleados de la tabla employees. Indicación: Se trata de una autounión. R:SELECT emp.employee_id AS "employee ID", emp.first_name AS "first name", emp.last_name "last name", emp.manager_id "manager ID", mgr.first_name "manager first name", mgr.last_name "manager last name" FROM employees emp JOIN employees mgr ON emp.manager_id = mgr.employee_id; 8. Utilice la sintaxis JOIN ON para consultar y mostrar el ID de ubicación, la ciudad y el nombre del departamento de todas las ubicaciones de Canadá. R:SELECT dp.location_id, loc.city, dp.department_name FROM departments dp INNER JOIN locations loc ON dp.location_id = loc.location_id JOIN countries ct ON loc.country_id = ct.country_id WHERE ct.country_name = 'Canada'; 9. Consulte y muestre el ID de jefe, el ID de departamento, el nombre de departamento, el nombre y el apellido de todos los empleados de los departamentos 80, 90, 110 y 190. R:SELECT emp.manager_id "Employee's Manager ID", emp.department_id "Department ID", Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas comerciales de sus respectivos propietarios.

Luis Fernando Bermúdez García

dpt.department_name "Department Name", emp.first_name "First Name", emp.last_name "Last Name" FROM employees emp JOIN departments dpt ON emp.department_id = dpt.department_id WHERE emp.department_id in (80, 90, 110, 190); 10. Muestre el ID de empleado, el apellido, el ID de departamento, el nombre de departamento y la fecha de contratación de los empleados cuya fecha de contratación fue el 7 de junio de 1994. R:SELECT emp.Employee_id "Employee ID", emp.last_name "Last Name" , emp.department_id "Department ID", dpt.department_name "Department Name", emp.hire_date "Hire Date" FROM employees emp JOIN departments dpt ON emp.department_id = dpt.department_id WHERE emp.hire_date = TO_DATE('June 7, 1994', 'fmMonth DD, YYYY

Copyright © 2019, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y sus filiales. Todos los demás nombres pueden ser marcas comerciales de sus respectivos propietarios.

Luis Fernando Bermúdez García