Ejercicios esquema BARES
shorkkaTarea6 de Diciembre de 2022
419 Palabras (2 Páginas)118 Visitas
[pic 1]
Ejercicios esquema BARES extendido.
Practica Semana 3.
Araujo Barrón Yared Isaac | Seminario de base de datos | 06/12/2022
- Utilizando la sentencia JOIN listar el nombre de todos los ingenieros que asisten al bar cuyo id es 4, ordenados de forma ascendente:
SELECT cliente.nombre, cliente.apellido
FROM bares.cliente
JOIN bares.ocupacion
ON ocupacion.id = cliente.ocupacion
JOIN bares.asiste
ON cliente.id = asiste.idCliente
WHERE asiste.idBar=4 AND ocupacion.nombre='INGENIERO' ORDER BY cliente.nombre;
- Listar en forma descendente los nombres de todos los bares que sirven cervezas de tipo Viena:
SELECT DISTINCT bar.nombre
FROM bares.bar
JOIN bares.sirve
ON bar.id = sirve.idBar
JOIN bares.cerveza
ON cerveza.id = sirve.idCerveza
JOIN bares.tipo
ON cerveza.tipo=tipo.id
WHERE tipo.nombre='VIENA'
ORDER BY bar.nombre desc;
- Listar los nombres de todas las cervezas que se sirven en bares de Zapopan y que además le gustan a 'RAFAEL SALGADO':
SELECT DISTINCT cerveza.nombre
FROM bares.cerveza
JOIN bares.sirve
ON cerveza.id = sirve.idCerveza
JOIN bares.bar
ON bar.id = sirve.idBar
JOIN bares.municipio
ON bar.municipio=municipio.id
WHERE municipio.nombre='ZAPOPAN'
INTERSECT SELECT cerveza.nombre
FROM bares.cerveza
JOIN bares.gusta
ON cerveza.id = gusta.idCerveza
JOIN bares.cliente
ON cliente.id = gusta.idCliente
WHERE cliente.nombre='RAFAEL' AND cliente.apellido='SALGADO';
- Listar los nombres de los clientes que no asisten al bar 'MIXELADA', ni son ingenieros:
SELECT cliente.nombre, cliente.apellido
FROM bares.cliente
EXCEPT SELECT cliente.nombre, cliente.apellido
FROM bares.cliente
JOIN bares.asiste
ON cliente.id = asiste.idCliente
JOIN bares.bar
ON bar.id = asiste.idBar
WHERE bar.nombre='MIXELADA';
INTERCEPT SELECT cliente.nombre, cliente.apellido
FROM bares.cliente
EXCEPT SELECT cliente.nombre, cliente.apellido
FROM bares.cliente
JOIN bares.ocupacion
ON cliente.ocupacion=ocupacion.id
WHERE ocupacion.nombre='INGENIERO';
- Combinando proyecciones y productos cartesianos (Sin JOIN) listar los nombres de los municipios en los que se sirve 'BOHEMIA':
SELECT DISTINCT municipio.nombre
FROM bares.municipio, bares.bar, bares.sirve, bares.cerveza
WHERE municipio.id=bar.municipio AND bar.id=sirve.idBAR AND cerveza.id=sirve.idCerveza AND cerveza.nombre='BOHEMIA';
- Utilizando la sentencia JOIN listar las cervezas de tipo Stout que le gustan a los estudiantes:
SELECT DISTINCT cerveza.nombre
FROM bares.cerveza
JOIN bares.tipo
ON cerveza.tipo=tipo.id
JOIN bares.gusta
ON cerveza.id=gusta.idCerveza
JOIN bares.cliente
ON cliente.id=gusta.idCliente
JOIN bares.ocupacion
ON cliente.ocupacion=ocupacion.id WHERE tipo.nombre='STOUT' AND ocupacion.nombre='ESTUDIANTE';
- Mostrar los nombres de los bares de Guadalajara a los que asisten más personas que al bar 'REVOLUCION': -- Por pasos: -- Primero encontrar el ID del bar ‘REVOLUCION’
SELECT bar.id FROM bares.bar
...