Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


consultas bd 2017-2018, Apuntes de Sistemas de Gestión de Bases de Datos

consultas con las respuetsa de base de datos del 2017

Tipo: Apuntes

2017/2018

Subido el 19/11/2018

sirlyn_aredo
sirlyn_aredo 🇪🇸

3.9

(42)

20 documentos

1 / 56

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1. Nombre de vols de la companyia CZECH AIRLINES.
SELECT count(*)
FROM VOL
WHERE COMPANYIA = 'CZECH AIRLINES'
ORDER BY 1
2. Nom dels passatgers que han volat a totes les destinacions a les que vola la
companyia CZECH AIRLINES.
Select DISTINCT P.nom
from persona p, bitllet b
where p.NIF = b.NIF_PASSATGER
and b.CODI_VOL IN (
Select VOL.CODI_VOL
from VOL, AEROPORT
where VOL.DESTINACIO = AEROPORT.CODI_AEROPORT
and VOL.COMPANYIA = 'CZECH AIRLINES')
ORDER BY 1
3 .-Despesa promig (amb IVA) de cada client durant el 2012. Cal mostrar el nom del client, el
NIF i el total de la despesa promig.
Select p.nom, p.NIF, AVG(r.preu + r.IVA) AS PRUEBA
from PERSONA p, RESERVA r
where p.NIF = r.NIF_CLIENT
AND TO_CHAR(r.DATA,'YYYY') = '2012'
GROUP BY p.nom, p.NIF,r.data
ORDER BY 1, 2,3
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38

Vista previa parcial del texto

¡Descarga consultas bd 2017-2018 y más Apuntes en PDF de Sistemas de Gestión de Bases de Datos solo en Docsity!

1. Nombre de vols de la companyia CZECH AIRLINES.

SELECT count(*)

FROM VOL

WHERE COMPANYIA = 'CZECH AIRLINES'

ORDER BY 1

2. Nom dels passatgers que han volat a totes les destinacions a les que vola la

companyia CZECH AIRLINES.

Select DISTINCT P.nom

from persona p, bitllet b

where p.NIF = b.NIF_PASSATGER

and b.CODI_VOL IN (

Select VOL.CODI_VOL

from VOL, AEROPORT

where VOL.DESTINACIO = AEROPORT.CODI_AEROPORT

and VOL.COMPANYIA = 'CZECH AIRLINES')

ORDER BY 1

3 .-Despesa promig (amb IVA) de cada client durant el 2012. Cal mostrar el nom del client, el NIF i el total de la despesa promig.

Select p.nom, p.NIF, AVG(r.preu + r.IVA) AS PRUEBA

from PERSONA p, RESERVA r

where p.NIF = r.NIF_CLIENT

AND TO_CHAR(r.DATA,'YYYY') = '2012'

GROUP BY p.nom, p.NIF,r.data

ORDER BY 1, 2,

-- XXXXXXXXXXX 2 Punts. 4 Percentatge de maletes facturades per vol. El numerador es la suma del total de maletes facturades per cada vol i el denominador es el total de vols. NOTA: calculeu primer, per a cada vol, quantes maletes s'han facturat. NOTA2: un percentatge és un número entre 0 i 100.

Select (T1.M_TOTAL/T2.M_VOLS)*100 as PERCENTATGE

from (SELECT COUNT (*) as M_TOTAL

FROM MALETA m) T1,

(Select Count(*) as M_VOLS

FROM VOl a) T

ORDER BY 1

*FALTA ASOCIAR MALETAS FACTURADES

-- 5 NIF dels passatgers que sempre han agafat el vol d'ANADA des del mateix aeroport. 2 Punts.

-- 6 Companies amb algun vol al septembre del 2013 1 Punt.

SELECT DISTINCT V.COMPANYIA

FROM VOL V

WHERE TO_CHAR(V.DATA,'MM/YYYY')='09/2013'

ORDER BY 1

-- 8 Nombre de vols de sortida totals. Cal mostrar els resultats agrupats per nom de l'aeroport, terminal, àrea i nombre de vols 1 Punt.

Select a.NOM, p.TERMINAL, p.AREA, count(*) as VOLS_SORTIDA

from VOL v, PORTA_EMBARCAMENT p, AEROPORT a

where v.ORIGEN = p.CODI_AEROPORT

and v.TERMINAL = p.TERMINAL

and v.AREA = p.AREA

and v.PORTA = p.PORTA

and p.CODI_AEROPORT = a.CODI_AEROPORT

and v.ORIGEN = a.CODI_AEROPORT

GROUP BY a.NOM, p.TERMINAL, p.AREA

ORDER BY 1,2,3,

--1 Ciutat de l'aeroport des d'on surten almenys 2 vols de totes les portes el dia 14/11/2013.

-- NOTA: conteu primer per a cada porta de cada aeroport quants vols surten.

2 Nombre de seients reservats al vol de ROYAL AIR MAROC codi RAM964 del 2 de Juny de 2014.

Puntuació de la pregunta : 1.000 / 1.

SELECT COUNT(R.LOCALITZADOR) AS N_SEIENTS

FROM RESERVA R, VOL V, BITLLET B

WHERE B.LOCALITZADOR = R.LOCALITZADOR

AND B.CODI_VOL=V.CODI_VOL

AND B.DATA=V.DATA

AND V.CODI_VOL='RAM964'

AND V.COMPANYIA='ROYAL AIR MAROC'

AND V.DATA=TO_DATE('02/06/14', 'DD/MM/YY')

ORDER BY 1

3 Poblacions on els seus habitants han acumulat maletes facturades per un pes total igual o major a 80 kg. Retorneu ciutat i pes total facturat per els ciutadans.

Puntuació de la pregunta : 1.000 / 1.

SELECT P.POBLACIO, SUM(M.PES)

FROM PERSONA P, MALETA M, BITLLET B

WHERE P.NIF=B.NIF_PASSATGER

AND B.NIF_PASSATGER=M.NIF_PASSATGER

AND B.CODI_VOL=M.CODI_VOL

AND B.DATA=M.DATA

GROUP BY P.POBLACIO

HAVING SUM(M.PES)>=

ORDER BY 1,

--4 Per a cada vol, calculi el nombre de maletes facturades.

-- Retorneu el codi de vol, la data, i el nombre de maletes.

-- (NOTA: les dates s'han de presentar al format 'DD/MM/YYYY')

WHERE P.NIF = B.NIF_PASSATGER

AND B.NIF_PASSATGER = M.NIF_PASSATGER

AND B.CODI_VOL = M.CODI_VOL

AND B.DATA = M.DATA

AND B.CODI_VOL = V.CODI_VOL

AND B.DATA = V.DATA

AND V.DESTINACIO = AE.CODI_AEROPORT

AND AE.PAIS = 'França'

MINUS

(SELECT P.NOM, P.NIF

FROM PERSONA P, BITLLET B, MALETA M, VOL V, AEROPORT AE

WHERE P.NIF = B.NIF_PASSATGER

AND B.NIF_PASSATGER = M.NIF_PASSATGER

AND B.CODI_VOL = M.CODI_VOL

AND B.DATA = M.DATA

AND M.COLOR = 'vermell'

)

ORDER BY 1, 2;

4 (XXXXX) Ciutat de l'aeroport des d'on surten almenys 2 vols de totes les portes el dia 14/11/2013. NOTA: conteu primer per a cada porta de cada aeroport quants vols surten.

Error a la sintaxi SQL de la Resposta 0 / 2.

6 Per a cada vol, calculi el nombre de maletes facturades. Retorneu el codi de vol, la data, i el nombre de maletes. (NOTA: les dates s'han de presentar al format 'DD/MM/YYYY')

Puntuació de la pregunta : 1.000 / 1.

SELECT V.CODI_VOL, TO_CHAR(V.DATA, 'DD/MM/YYYY') AS DATA, COUNT() AS N_MALETES

FROM VOL V, MALETA M

WHERE V.CODI_VOL=M.CODI_VOL

AND V.DATA=M.DATA

GROUP BY V.CODI_VOL, V.DATA

ORDER BY 1,2,

7 Codi de vol i data de tots els bitllets d'anada.

Puntuació de la pregunta : 1.000 / 1.

SELECT B.CODI_VOL, TO_CHAR(B.DATA, 'DD/MM/YYYY') AS DATA

FROM BITLLET B

WHERE B.ANADA_TORNADA='ANADA'

ORDER BY 1,

8 Nom, email (mail) i adreça dels passatgers que han volat amb les mateixes companyies que Andres Trozado (poden haver volat amb més companyies).

Puntuació de la pregunta : 2.000 / 2.

SELECT P.NOM, P.MAIL, P.ADREÇA

SELECT A.CIUTAT, TO_CHAR(V.DATA, 'DD/MM/YYYY'), V.CODI_VOL

FROM AEROPORT A, VOL V, BITLLET B

WHERE A.CODI_AEROPORT=V.DESTINACIO

AND V.CODI_VOL=B.CODI_VOL

AND V.DATA=B.DATA

GROUP BY A.CIUTAT, V.DATA, V.CODI_VOL

HAVING COUNT(B.NIF_PASSATGER)>

ORDER BY 1, 2, 3

2.Nombre total de maletes facturades per la companyia IBERIA

SELECT COUNT(m.CODI_MALETA) as N_Maletes

FROM BITLLET B, VOL V, maleta m

WHERE B.CODI_VOL = V.CODI_VOL

AND B.DATA = V.DATA

AND m.nif_passatger=b.nif_passatger

and m.codi_vol=b.codi_vol

and m.data=b.data

AND V.COMPANYIA = 'IBERIA'

ORDER BY 1

3 Llista d'aeroports amb nom que comença amb la lletra "P"

SELECT A.NOM

FROM AEROPORT A

WHERE A.NOM LIKE 'P%'

ORDER BY 1

4 Quin és el percentatge d'ocupació dels vols amb destinació a Madrid? (NOTA: un percentatge s'expressa amb nombres entre 0 i 100)

SELECT (T2.OCUPANTS/T1.TOTAL)*

FROM (SELECT COUNT(*) AS TOTAL

FROM VOL V, SEIENT S, AEROPORT A

WHERE V.CODI_VOL=S.CODI_VOL

AND V.DATA=S.DATA

AND V.DESTINACIO=A.CODI_AEROPORT

AND A.CIUTAT='Madrid')T1,

(SELECT COUNT(*) AS OCUPANTS

FROM VOL V, BITLLET B, AEROPORT A

WHERE V.CODI_VOL=B.CODI_VOL

AND V.DATA=B.DATA

AND V.DESTINACIO=A.CODI_AEROPORT

AND A.CIUTAT='Madrid')T

ORDER BY 1, 2

8 Data, codi de vol, codi de l'aeroport de destinació, i nombre de passatgers del(s) vol(s) que té(nen) el nombre de passatgers més gran. (NOTA: les dates s'han de presentar al format 'DD/MM/YYYY')

SELECT TO_CHAR(V.DATA, 'DD/MM/YYYY'), V.CODI_VOL, V.DESTINACIO,

COUNT(B.NIF_PASSATGER)

FROM BITLLET B, VOL V

WHERE B.CODI_VOL=V.CODI_VOL

AND B.DATA=V.DATA

GROUP BY V.DATA, V.CODI_VOL, V.DESTINACIO

HAVING COUNT(B.NIF_PASSATGER)>=ALL(SELECT COUNT(B1.NIF_PASSATGER)

FROM BITLLET B1, VOL V

WHERE B1.CODI_VOL=V1.CODI_VOL

AND B1.DATA=V1.DATA

GROUP BY V1.DATA, V1.CODI_VOL, V1.DESTINACIO)

ORDER BY 1, 2, 3, 4

CONSULTA 1

SELECT P.Poblacio, SUM(M.Pes) AS Pes_total

FROM PERSONA P, MALETA M

WHERE P.NIF = M.NIF_Passatger

GROUP BY P.Poblacio

HAVING SUM(M.Pes) >= 80

ORDER BY 1,

CONSULTA 2 (XXXXXXXXXX)

SELECT DISTINCT P.Nom, P.Mail, P.Adreça

FROM VOL V, BITLLET B, PERSONA P

WHERE P.NIF = B.NIF_passatger AND B.Codi_vol = V.Codi_vol AND B.Data = V.Data

AND V.Companyia = (SELECT DISTINCT V.Companyia

FROM VOL V, BITLLET B, PERSONA P

WHERE P.NIF = B.NIF_passatger AND B.Codi_vol = V.Codi_vol AND B.Data = V.Data AND P.Nom = 'Andres Trozado')

ORDER BY 1,2,

CONSULTA 3 (XXXXXXXXX) // Posible solucion: compania en el where???

SELECT COUNT(*)

FROM SEIENT

WHERE Codi_vol = 'RAM964' AND Data = TO_DATE ('02/06/2014','DD/MM/YYYY')

ORDER BY 1

CONSULTA 4

SELECT Codi_vol,TO_CHAR (Data,'DD/MM/YYYY'), COUNT(Codi_maleta) AS nombre_maletes

FROM MALETA

--1 Ciutat de l'aeroport des d'on surten almenys 2 vols de totes les portes el dia 14/11/2013.

-- NOTA: conteu primer per a cada porta de cada aeroport quants vols surten.

--4 Per a cada vol, calculi el nombre de maletes facturades.

-- Retorneu el codi de vol, la data, i el nombre de maletes.

-- (NOTA: les dates s'han de presentar al format 'DD/MM/YYYY')

/*

SELECT V.CODI_VOL, V.DATA, COUNT(*) AS N_MALETES

FROM MALETA M, VOL V, BITLLET B

WHERE V.CODI_VOL = B.CODI_VOL

AND V.DATA = B.DATA

AND B.DATA = M.DATA

AND B.CODI_VOL = M.CODI_VOL

AND B.NIF_PASSATGER = M.NIF_PASSATGER

GROUP BY V.CODI_VOL, V.DATA

ORDER BY 1,2,3;

*/

2 Nombre total de maletes facturades per la companyia IBERIA

SELECT COUNT(M.CODI_MALETA)

FROM MALETA M, BITLLET B, VOL V

WHERE M.NIF_PASSATGER=B.NIF_PASSATGER

AND M.CODI_VOL=B.CODI_VOL

AND M.DATA=B.DATA

AND B.CODI_VOL=V.CODI_VOL

AND B.DATA=V.DATA

AND V.COMPANYIA='IBERIA'

4 Quin és el percentatge d'ocupació dels vols amb destinació a Madrid? (NOTA: un percentatge s'expressa amb nombres entre 0 i 100)

SELECT (T2.OCUPANTS/T1.TOTAL)*

FROM (SELECT COUNT(*) AS TOTAL

FROM VOL V, SEIENT S, AEROPORT A

WHERE V.CODI_VOL=S.CODI_VOL

AND V.DATA=S.DATA

AND V.DESTINACIO=A.CODI_AEROPORT

AND A.CIUTAT='Madrid')T1,

(SELECT COUNT(*) AS OCUPANTS

FROM VOL V, BITLLET B, AEROPORT A

7.Número de bitllets per comprador. Retorneu el nom del comprador, el NIF i el número de bitllets comprats.

SELECT DISTINCT P.NOM, P.NIF, COUNT(*)

FROM PERSONA P, BITLLET B, RESERVA R

WHERE P.NIF=R.NIF_CLIENT

AND R.LOCALITZADOR=B.LOCALITZADOR

GROUP BY P.NOM, P.NIF

ORDER BY 1, 2, 3

-- Quantes portes d'embarcament té l'area 2 de la terminal 2 de l'Zurich airport?

SELECT COUNT(PE.PORTA)

FROM AEROPORT A, PORTA_EMBARCAMENT PE

WHERE PE.CODI_AEROPORT = A.CODI_AEROPORT

AND PE.TERMINAL = 2

AND PE.AREA = 2

AND A.NOM='Zurich Airport'

Nom Persones Mexicanes

SELECT DISTINCT NOM

FROM PERSONA

WHERE PAIS='Mexico'

Noms dels passatgers que han viatjat en primera classe més de 3 vegades.

SELECT P1.NOM

FROM PERSONA P1, BITLLET B

WHERE P1.NIF = B1.NIF_PASSATGER

AND B1.classe = 1

GROUP BY P1.NOM

HAVING COUNT(B1.NIF_PASSATGER)> 3

ORDER BY 1;

-- Percentatge dels vols d'Iberia que surten de l'aeroport de Barcelona.

-- (NOTA: El percentatge sempre és un nombre entre 0 i 100).

SELECT T1.V_IBEBCN*100/T2.V_IBE AS PERCENTATGE_VOLS

FROM (SELECT COUNT(*) AS V_IBEBCN

FROM VOL V

WHERE V.COMPANYIA = 'IBERIA'

AND V.ORIGEN = 'BCN')T1,

(SELECT COUNT(V2.CODI_VOL) AS V_IBE

FROM VOL V

WHERE V2.COMPANYIA = 'IBERIA')T

ORDER BY 1