Sunteți pe pagina 1din 43

Laboratorio MySQL

JESUS DAVID CASTILLO TORRES


1720010939
Politécnico Grancolombiano

2019
Bogotá D.C
Ejercicios MySQL

1. Escriba una consulta para encontrar las direcciones (location_id, street_address, city,
state_province, country_name) de todos los departamentos.

Como ya lo sabemos, para relacionar dos tablas entre sí disponemos de la cláusula JOIN.
Además de las conocidas y tradicionales (INNER, LEFT, RIGHT, FULL) Firebird también dispone
de otras dos: NATURAL y CROSS.

Con NATURAL JOIN se relacionan dos tablas con los nombres de las columnas que tienen en
común. O sea que el requisito es que los nombres de las columnas en ambas tablas sean
idénticos. Como lo observamos en el siguiente ejemplo:
2. Escriba una consulta para encontrar el nombre (nombre, apellido), ID del departamento y
el nombre de todos los empleados.

USING es útil cuando ambas tablas comparten una columna del mismo
nombre exacto en el que se unen. Como vemos acá en este caso, es el de
departamet id. El cual lo comparte el departamento y el empleado, uno puede
decir:
Como resultado tendremos el nombre del empleado y a qué departamento pertenece con
su respectivo id.
3. Escriba una consulta para encontrar el nombre (nombre, apellido), trabajo, ID del
departamento y nombre de los empleados que trabajan en Londres.

ON es el más general de los dos. Uno puede unir tablas EN una columna, un
conjunto de columnas e incluso una condición.
El resultado fue que solo una persona trabaja en Londres.
También veremos como se utilizo el on para poder relacionar columnas de una tabla con
otra.

4. Escriba una consulta para encontrar la identificación del empleado, el nombre (apellido)
junto con su manager_id y el nombre (apellido).

Para asegurarnos que el manager_id sea el indicado para el respectivo nombre


utilizaremos el ON para relacionar e.manager_id con m.employee_id . No debemos
olvidarnos en la relación con JOIN para poder completar esta relación, como lo mostramos
en el siguiente ejemplo:
Para nuestra salida tendremos el empleado con su id y manager_id.

5. Escriba una consulta para encontrar el nombre (nombre, apellido) y la fecha de


contratación de los empleados que fueron contratados después de 'Jones'.

Acá tenemos que tener en cuenta que debemos asignar o relacionar el nombre de jones
con last name para que empiece desde ahí cuando cuando el nuevo Davies.hire data sea
menor a la de hire date como se muestra a continuación:
Acá podemos que observar que se ha formado la nueva consulta con el nombre y su fecha
de contratación de pues de jones .

6. Escriba una consulta para obtener el nombre del departamento y el número de


empleados en el departamento.
Seleccionamos el department_name y le cambiamos el nombre a Departmet Name
Y contamos a lo que llamamos numero de empleados de la tabla depatyments.
Y utilizamos el inner join de empleados para combinarla y enseguida relacionamos el id
del departamento de empleados con el id del departamento para luego agrupar el nombre
del departamento y sus respectivos integrantes de cada departamento.

7. Escriba una consulta para encontrar la identificación del empleado, el título del trabajo, el
número de días entre la fecha de finalización y la fecha de inicio para todos los trabajos en
el departamento 90 del historial de trabajos.
Seleccionamos el id el empleado para calcular el tiempo de que llevan en la empresa se
resta la fecha final menos la inicial como lo veras a continuación de la tabla job_history
Y las relacionamos con Jobs para obtener el id del trabajador, el nombre del trabajo ene el
que esta y el numero de hora que lleva.

8. Escriba una consulta para mostrar la ID y el nombre del departamento y el nombre del
gerente.
Solo tenemos que enlistar todo lo nombrado en el punto para solo añadirle un relación la
cual va ser que la columna e.manager id es igual al de employyed id como se muestra en el
ejemplo :

9. Escriba una consulta para mostrar el nombre del departamento, el nombre del gerente y
la ciudad.
En este punto solo tendremos que relacionar lo mismo que el anterior y solo una cosa de
más relacionar el location para poder mostrar la ciudad.
10. Escriba una consulta para mostrar el título del trabajo, el nombre del empleado y la
diferencia entre el salario del empleado y el salario mínimo para el trabajo.

Solo tendremos que recordad cosas ya vistas como los son el avg (….)
La función avg() retorna el valor promedio de los valores del campo especificado. Por
ejemplo, queremos saber el promedio del precio de los libros referentes a "PHP":

NATURAL JOIN se relacionan dos tablas con los nombres de las columnas que tienen en
común. O sea que el requisito es que los nombres de las columnas en ambas tablas sean
idénticos.

La cláusula GROUP BY es un comando SQL que se usa para agrupar filas que tienen los
mismos valores.

11. Escriba una consulta para mostrar el historial de trabajo realizado por cualquier empleado
que actualmente recibe más de 10000 de salario.
12. Escriba una consulta para mostrar la ID y el nombre del departamento y el nombre del
gerente.
Solo tenemos que enlistar todo lo nombrado en el punto para solo añadirle un relación la
cual va ser que la columna e.manager id es igual al de employyed id como se muestra en el
ejemplo :

13. Escriba una consulta para mostrar el nombre, apellido, fecha de contratación, salario del
gerente para todos los gerentes cuya experiencia es más de 15 años.
SEGUNDO ENLACE

1. escriba una consulta para mostrar el primer día del mes (en formato de fecha y hora)
tres meses antes del mes actual.

Fecha actual de muestra: 03/09/2014


Resultado esperado: 01/06/2014

Tenemos que utilizar la función DATE() La cual recibe una expresión , ene este caso es otra
función la cual es PERIOD_ADD(P,N) donde recibe P y N.

P: Es un periodo de N mese con un formato de YYNN O YYYYNN

N: Es los días que queremos sumar o restar

Entonces acá podemos utilizar otro parámetro de PERIOD_ADD el cual es


EXTRACT(YEAR_MONTH) Lo cual nos permite traer el año y el mes actual .

Entonces utilizamos el curdate () para taer el año actual y el mes ya podemos modificar el
mes y los días .
2. Escriba una consulta para mostrar el último día del mes (en formato de fecha y hora)
tres meses antes del mes actual

La función SUBDATE () resta un intervalo de tiempo / fecha de una fecha y luego


devuelve la fecha.

Entonces acá podemos observar que el primer date que recibe es un ADDDATE CON
UN CURDATE para traer la fecha actual y después en el intervalo vamos a utilizar el
DAYOFMONTH para utilizar el mes actual .

3. Escriba una consulta para obtener los lunes distintos de hire_date en las tablas de
empleados
Toma una cadena str y una cadena de formato format. STR_TO_DATE()devuelve un
DATETIMEvalor si la cadena de formato contiene la fecha y Partes de tiempo, o una
DATEo TIMEvalor si la cadena contiene sólo partes de fecha u hora. Si la fecha, la hora
o el valor de fecha y hora extraído de str es ilegal, STR_TO_DATE() regresa NULL y
genera una advertencia.

YEARWEEK evuelve año y semana para una fecha. El año en el resultado puede ser
diferente del año en el argumento de fecha para la primera y la última semana del
año.

4. Escriba una consulta para obtener el primer día del año actual
Para obtener el primer día tendremos que utilizare MAKEDATE (DIA, DIA DEL AÑO) El
cual devuelve una fecha, dados los valores de año y día del año. Días del año debe ser
mayor que 0 o el resultado es NULL. Entonces utilizamos el año actual con el mes 1.

5. Escriba una consulta para obtener el último día del año actual.

Esta es la inversa de la DATE_FORMAT()función. Toma una cadena stry una cadena de


formato format. STR_TO_DATE()devuelve un DATETIMEvalor si la cadena de formato
contiene la fecha y Partes de tiempo, o una DATEo TIMEvalor si la cadena contiene
sólo partes de fecha u hora. Si la fecha, la hora o el valor de fecha y hora extraído de
str es ilegal, STR_TO_DATE() regresa NULLy genera una advertencia.

Entonces concatenamos lo que sería el mes y el día y extraemos el año actual .

6. Escribe una consulta para calcular la edad en años

7. Escriba una consulta para obtener la fecha actual en el siguiente formato.

Date format recibe la fecha y le da un formato para mostrar .

8. Escribe una consulta para obtener la fecha actual del jueves septiembre 2014 forma
Devuelve la fecha y hora actuales como un valor 'YYYY-MM-DD hh:mm:ss'o
YYYYMMDDhhmmss.uuuuuuformato, dependiendo de si la función se utiliza en una
cadena o en un contexto numérico. El valor se expresa en la zona horaria de la sesión.
Y le damos formato .

9. Escriba una consulta para extraer el año desde la fecha actual.

Extraemos el año actual de la función NOW().

10. Escriba una consulta para obtener el valor DATE de un día determinado (número en
N).

Acá podemos poner los días que queramos pero la verdad no sirve de mucho porque
todo estaría en cero ósea que hay que escribir desde el año 0 me 0 día 0 .

11. Escriba una consulta para obtener el nombre y la fecha de contratación de la tabla de
empleados donde la fecha de contratación entre '1987-06-01' y '1987-07-30'.
12. Escriba una consulta para mostrar la fecha actual en el siguiente formato. Salida de
muestra: jueves 4 de septiembre de 2014 00:00:00

Devuelve la fecha y hora actuales como un valor 'YYYY-MM-DD hh:mm:ss'o


YYYYMMDDhhmmss.uuuuuuformato, dependiendo de si la función se utiliza en una
cadena o en un contexto numérico. El valor se expresa en la zona horaria de la sesión.
Y le damos formato .

13. Escriba una consulta para mostrar la fecha actual en un formato dado.
Salida de muestra: 05/09/2014
Le damos formato con día mes y año separado con /

14. Escriba una consulta para mostrar la fecha actual en el formato especificado.
15. Escriba una consulta para obtener el nombre, apellido que se unió en el mes de junio.
Seleccionamos el nombre de la tabla empleados solo cuando el mes sea =6

16. Escriba una consulta para conocer los años en que se unieron más de 10 empleados.

Acá le damos forma al la fecha por año de la tabla empleados para saber cuántos
empleados son mayorees a 10 en cada año.
17. Escriba una consulta para obtener el nombre de los empleados que se unieron en
1987.

Seleccionamos el primer nombre y la fecha de la tabla empleados cuando el año sea


igual a 1987.

19. Escriba una consulta para obtener la identificación del empleado, el apellido y la fecha
del primer salario de los empleados.
Seleccionamos el id del empleado la fecha de incio y a esa fecha miramos el LAST_DAY
para el dato ya obtenido que es el HIRE_DATE Para obtener la fecha de pago del
empleado.

20. Escriba una consulta para obtener el nombre, la fecha de contratación y la experiencia
de los empleados.
21. Escriba una consulta para obtener la ID del departamento, el año y la cantidad de
empleados que se unieron.
Seleccionamos el id del departamento y le damos formato al la fecha para ver solo el
año y contamos el id empleados De la tabla de empleados Y ordenamos el id
departamento y la fecha Para ver el orden del departamento.
TERCER ENLACE
1. Escriba una consulta para obtener el job_id y la identificación del empleado relacionado.

2. Escriba una consulta para actualizar la parte del número de teléfono en la tabla de
empleados, dentro del número de teléfono, la subcadena '124' se reemplazará por '999'.
3. Escriba una consulta para obtener los detalles de los empleados donde la longitud del
nombre sea mayor o igual a 8

4. Escriba una consulta para mostrar los ceros a la izquierda antes del salario máximo y
mínimo.
5. Escriba una consulta para agregar '@ example.com' al campo de correo electrónico.

6. Escriba una consulta para obtener la identificación del empleado, el nombre y el mes de
contratación.
7. Escriba una consulta para obtener la identificación del empleado, la identificación del
correo electrónico (descarte los últimos tres caracteres).

8. Escriba una consulta para encontrar todos los empleados donde los nombres están en
mayúsculas.
9. Escriba una consulta para extraer los últimos 4 caracteres de los números de teléfono.

10. Escriba una consulta para obtener la última palabra de la dirección


11. Escriba una consulta para obtener las ubicaciones que tienen una longitud mínima de
calle.

12. Escriba una consulta para mostrar la primera palabra de esos títulos de trabajo que
contiene más de una palabra
13. Escriba una consulta para mostrar la longitud del nombre de los empleados donde el
apellido contiene el carácter 'c' después de la segunda posición.
14. Escriba una consulta que muestre el nombre y la longitud del nombre para todos los
empleados cuyo nombre comience con las letras 'A', 'J' o 'M'. Dé a cada columna una
etiqueta apropiada. Ordene los resultados por los nombres de los empleados.

15. Escriba una consulta para mostrar el nombre y el salario de todos los empleados.
Formatee el salario para que tenga 10 caracteres de largo, con el símbolo de $ a la
izquierda. Etiquete la columna SALARIO.
16. Escriba una consulta para mostrar los primeros ocho caracteres de los nombres de los
empleados e indique los montos de sus salarios con el signo '$'. Cada signo '$' significa mil
dólares. Ordenar los datos en orden descendente de salario
17. Escriba una consulta para mostrar a los empleados con su código, nombre, apellido y
fecha de contratación que contrataron el séptimo día de cualquier mes o el séptimo mes
de cualquier año.

S-ar putea să vă placă și