Ejercicios Prácticos de Consultas SQL: Operaciones Avanzadas y Joins

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en con un tamaño de 3,4 KB

Ejercicios de Consultas SQL

Filtrado y Selección de Datos

  • 20. Mostrar los jugadores cuya antepenúltima letra sea la 'a':
    SELECT nombre FROM jugadores WHERE nombre LIKE '%a__';
  • 21. Mostrar el id y nombre de los jugadores del registro 5 al 8:
    SELECT id, nombre FROM jugadores LIMIT 4,4;
  • 22. Mostrar el nombre como 'Jugador' y demarcación como 'Posición Favorita':
    SELECT nombre AS Jugador, demarcacion AS Posicion FROM jugadores;

Ordenación y Agrupación

  • 23. Mostrar nombre y demarcación ordenados alfabéticamente:
    SELECT nombre, demarcacion FROM jugadores ORDER BY nombre ASC;
  • 24. Mostrar equipo, nombre y demarcación ordenados por equipo (descendente) y demarcación (ascendente):
    SELECT equipo, nombre, demarcacion FROM jugadores ORDER BY equipo DESC, demarcacion ASC;
  • 25. Mostrar jugadores del Real Madrid entre 50 y 80 internacionalidades ordenados descendentemente:
    SELECT nombre AS "Jugadores del Real Madrid", demarcacion, equipo, internacional FROM jugadores WHERE internacional BETWEEN 50 AND 80 AND equipo = 'Real Madrid' ORDER BY nombre DESC;

Relaciones entre Tablas (JOINs)

  • 26. Mostrar el nombre de los jugadores y de sus equipos sin usar JOIN:
    SELECT j.nombre, e.nombre FROM jugadores j, equipos e WHERE j.equipo = e.nombre;
  • 27. Mostrar el nombre de los jugadores y de sus equipos sin usar WHERE:
    SELECT j.nombre, e.nombre FROM jugadores j JOIN equipos e ON j.equipo = e.nombre;
  • 28. Mostrar el nombre de los jugadores y de sus equipos usando INNER JOIN:
    SELECT j.nombre, e.nombre FROM jugadores j INNER JOIN equipos e ON j.equipo = e.nombre;
  • 29. Mostrar el nombre de los equipos y de sus jugadores (incluso si no tienen jugadores):
    SELECT e.nombre, j.nombre FROM equipos e LEFT JOIN jugadores j ON e.nombre = j.equipo;
  • 30. Mostrar el nombre de los jugadores y de sus equipos (incluso si no tienen equipo):
    SELECT j.nombre, e.nombre FROM jugadores j LEFT JOIN equipos e ON j.equipo = e.nombre;
  • 31. Mostrar jugadores y equipos (incluso si faltan datos en ambos):
    SELECT j.nombre, e.nombre FROM jugadores j LEFT JOIN equipos e ON j.equipo = e.nombre UNION SELECT j.nombre, e.nombre FROM jugadores j RIGHT JOIN equipos e ON j.equipo = e.nombre;

Consultas Avanzadas y Agregación

  • 32. Mostrar el nombre de los jugadores, su demarcación y su equipo solo de los delanteros:
    SELECT j.nombre, j.demarcacion, e.nombre FROM jugadores j JOIN equipos e ON j.equipo = e.nombre WHERE j.demarcacion = 'Delantero';
  • 33. Mostrar jugadores que juegan en equipos con aforo mayor a 65.000:
    SELECT j.nombre, e.nombre FROM jugadores j JOIN equipos e ON j.equipo = e.nombre WHERE e.aforo > 65000;
  • 34. Mostrar equipos con menos de 3 jugadores:
    SELECT e.nombre FROM equipos e LEFT JOIN jugadores j ON e.nombre = j.equipo GROUP BY e.nombre HAVING COUNT(j.id) < 3;

Entradas relacionadas: