M2 - Bases de dades / Exercicis UF2: Llenguatges SQL / Solucions T1-HR

De wikiserver
Dreceres ràpides: navegació, cerca

Parte 1

1) La siguiente sentencia SELECT se ejecuta correctamente:

SELECT last_name, job_id, salary AS Sal
FROM employees;

Verdadero/Falso

2) La siguiente sentencia SELECT se ejecuta correctamente:

SELECT *
FROM job_grades;

Verdadero/Falso

3) En la siguiente sentencia hay cuatro errores de codificación. ¿Puede identificarlos?

SELECT employee_id, last_name 
sal x 12 ANNUAL SALARY
FROM employees;
  • La tabla EMPLOYEES no contiene ninguna columna denominada sal . La columna se denomina SALARY.
  • El operador de multiplicación es *, no x, como se muestra en la línea 2.
  • El alias ANNUAL SALARY no puede incluir espacios. El alias debe ser ANNUAL_SALARY o se deben incluir entre comillas dobles.
  • Falta una coma tras la columna LAST_NAME.

Parte 2

Se le ha contratado como programador de SQL para Acme Corporation. Su primera tarea es crear algunos informes según los datos de las tablas de recursos humanos.

4) Su primera tarea es determinar la estructura de la tabla DEPARTMENTS y su contenido.

a. Para determinar la estructura de la tabla DEPARTMENTS:
DESCRIBE departments
b. Para ver los datos que contiene la tabla DEPARTMENTS:
SELECT *
FROM departments;

5) Determine la estructura de la tabla EMPLOYEES .

DESCRIBE employees

El departamento de recursos humanos desea que una consulta muestre el apellido, ID de cargo, fecha de contratación e ID de empleado de cada empleado, con el ID de empleado en primer lugar. Proporcione un alias STARTDATE para la columna HIRE_DATE. Guarde la sentencia SQL en un archivo con el nombre lab_01_05.sql para distribuirlo al departamento de recursos humanos.

SELECT employee_id, last_name, job_id, hire_date StartDate
FROM employees;

6) Pruebe la consulta en el archivo lab_01_05.sql para asegurarse de que se ejecuta correctamente.

SELECT employee_id, last_name, job_id, hire_date StartDate
FROM employees;

7) El departamento de recursos humanos desea una consulta para mostrar todos los ID de cargo únicos de la tabla EMPLOYEES .

SELECT DISTINCT job_id
FROM employees;

Parte 3

Si tiene tiempo, realice los siguientes ejercicios:

8) El departamento de recursos humanos desea cabeceras de columna más descriptivas para su informe sobre empleados. Copie la sentencia de lab_01_05.sql en una nueva hoja de trabajo de SQL. Asigne a las cabeceras de columna los nombres Emp # , Employee , Job y Hire Date , respectivamente. A continuación, vuelva a ejecutar la consulta.

SELECT employee_id "Emp #", last_name "Employee",
       job_id "Job", hire_date "Hire Date"
FROM employees;

9) El departamento de recursos humanos ha solicitado un informe de todos los empleados y sus ID de cargo. Muestre el apellido concatenado con el ID de cargo (separado por una coma y un espacio) y asigne a la columna el nombre Employee and Title .

SELECT last_name||', '||job_id "Employee and Title"
FROM employees

Si desea superarse a sí mismo, complete el siguiente ejercicio:

10) Para familiarizarse con los datos de la tabla EMPLOYEES , cree una consulta para mostrar todos los datos de dicha tabla. Separe cada salida de la columna por una coma. Asigne a la columna el título THE_OUTPUT .

SELECT employee_id || ',' || first_name || ',' || last_name
       || ',' || email || ',' || phone_number || ','|| job_id
       || ',' || manager_id || ',' || hire_date || ','
       || salary || ',' || commission_pct || ',' || department_id
       THE_OUTPUT
FROM employees;