Consultas SQL sobre Obras, Intérpretes, Compositores y Música

Consulta sobre obras dirigidas por directores nacidos entre 1850 y 1920

SQL: SELECT o.cod_obra, o.titulo, o.tipo_obra, d.id_dir, dir.nombre AS director_nombre FROM obra o JOIN dirige d ON o.cod_obra = d.cod_obra JOIN director dir ON d.id_dir = dir.id_dir WHERE YEAR(dir.fechaNac) BETWEEN 1850 AND 1920;

Objetivo: Listar el código, título y tipo de obra, junto con el ID del director y su nombre, para aquellas obras dirigidas por directores nacidos entre 1850 y 1920.

Tablas: Obra, dirige y director.

Consulta sobre intérpretes y las obras que interpretan

SQL: SELECT i.*, o.titulo, o.tipo_obra FROM interprete i LEFT JOIN interpretada it ON i.cod_inter = it.cod_inter LEFT JOIN obra o ON it.cod_obra = o.cod_obra;

Objetivo: Obtener todos los datos de los intérpretes junto con los títulos y tipos de las obras que interpretan.

Tablas: Interprete, interpretada y obra.

Consulta sobre canciones en una lista de reproducción específica

SQL: SELECT cancion.* FROM cancion JOIN cancion_en_lista ON cancion.codigo = cancion_en_lista.id_cancion JOIN lista_reprod ON cancion_en_lista.id_listrep = lista_reprod.id_listrep WHERE lista_reprod.nombre = ‘Musica Movida’ ORDER BY cancion_en_lista.nro_orden;

Objetivo: Obtener todas las canciones que están en la lista de reproducción llamada «Musica Movida», ordenadas según el número de orden en la lista.

Tablas: Cancion, cancion_en_lista y lista_reprod.

Consulta sobre el tempo de una obra específica

SQL: SELECT tempo FROM tempo_musicales WHERE cod_obra = 123;

Objetivo: Obtener el tempo de la obra con código 123.

Consulta sobre compositores del siglo XVIII

SQL: SELECT nombre, nacionalidad, anio_nacimiento FROM compositor WHERE anio_nacimiento BETWEEN 1700 AND 1800 ORDER BY nombre;

Objetivo: Listar nombres, nacionalidades y años de nacimiento de compositores nacidos entre 1700 y 1800, ordenados alfabéticamente por nombre.

Consulta sobre directores nacidos antes de 1941 y que aún viven

SQL: SELECT nombre, fechaNac FROM director WHERE fechaNac <= ‘1940-12-31’ AND fechaFall IS NULL;

Objetivo: Obtener el nombre y fecha de nacimiento de directores nacidos hasta el 31 de diciembre de 1940 y que no tienen fecha de fallecimiento registrada (lo que indica que aún están vivos).

Consulta sobre intérpretes cuyos nombres comienzan con ‘An’

SQL: SELECT * FROM interprete WHERE nombre LIKE ‘An%’ ORDER BY nombre;

Objetivo: Seleccionar todos los campos de los intérpretes cuyos nombres comienzan con «An», ordenados alfabéticamente por nombre.

Consulta sobre todos los registros de la tabla de dirección

SQL: SELECT d.id_dir, d.cod_obra, d.cod_inter FROM dirige d;

Objetivo: Obtener todos los registros de la tabla dirige, que vincula directores, obras e intérpretes.

Consulta sobre intérpretes de nacionalidad italiana

SQL: SELECT * FROM interprete WHERE nacionalidad = ‘Italiano’;

Objetivo: Seleccionar todos los intérpretes que son italianos.

Consulta sobre obras de Vivaldi o ciertas obras de otros compositores

SQL: SELECT o.* FROM obra o LEFT JOIN compositor c ON o.nombre_comp = c.nombre WHERE c.nombre = ‘Vivaldi’ OR (o.tipo_obra IN (‘Vals’, ‘Descriptiva’) AND NOT c.nombre = ‘Strauss’);

Objetivo: Obtener todas las obras donde el compositor es Vivaldi o donde el tipo de obra es ‘Vals’ o ‘Descriptiva’ y el compositor no es Strauss.

Tablas: Obra y compositor.

Consulta sobre canciones de un álbum específico

SQL: SELECT cancion.*, album.nombre AS nombre_album, album.autor AS autor_album, album.premios FROM cancion JOIN album ON cancion.num_album = album.numero WHERE cancion.likes > 500 AND album.autor = ‘Luis Miguel’ AND album.premios >= 3;

Objetivo: Listar todas las canciones que tienen más de 500 «likes» de álbumes de Luis Miguel que han ganado 3 o más premios, mostrando también el nombre y autor del álbum.

Tablas: Cancion y album.

Consulta sobre usuarios que crearon listas de reproducción con alta calificación

SQL: SELECT usuario.* FROM usuario JOIN lista_reprod ON usuario.id = lista_reprod.id_usuario WHERE (YEAR(lista_reprod.fecha_creada) = 2022 OR YEAR(lista_reprod.fecha_creada) = 2024) AND lista_reprod.calificacion > 3;

Objetivo: Listar todos los usuarios que crearon listas de reproducción en los años 2022 o 2024, y que esas listas tienen una calificación superior a 3.

Tablas: Usuario y lista_reprod.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.