• Bienvenido

    Este blog nació la madrugada entre el 10 y el 11 de Septiembre de 2007 mientras instalaba Windows y Debian en una máquina que acababa de formatear para comenzar de nuevo.
    Predendo dejar plasmada mi experiencia con todos los 'experimentos' informáticos que llevo a cabo para que cualquiera haga uso de estos conocimientos que a mi me resultan realmente enriquecedores. Colgaré noticias interesantes e iré redactando artículos sobre materias fundamentales en el mundo de la informática como UNIX o Critografía. Mucho Google y mucha Wikipedia
    Comenta lo que quieras en el articulo que mas te haya interesado, cualquier comentario es totalmente bienvenido.
    Un saludo.
    JxXx
  • RSS Mountain Weekends

    • Vietnam: diario de viaje (XIV) agosto 23, 2015
      29/05/2015 19:27 Aeropuerto de HueEstamos en el aeropuerto de Hue esperando para coger el avión que nos va a llevar a Hanoi. Estos 2 últimos días han sido... especiales, diferentes al resto del viaje. El mejor resumen es que nos han intentado timar todo el rato, casi todo el mundo y en varias ocasiones lo han conseguido. Tomándonos una cervecita (Huda) tampo […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (XIII) agosto 23, 2015
      Voy a resumir muchísimo el día de hoy porque tengo muchísimas fotos y porque ya estoy muy cansado. Hemos desayunado fuerte en el hotel y hemos hecho un día de paseo exhaustivo por la zona centro de Hoi An. Lo hemos visto todo y, siento ser así de sincero, hemos acabado hasta los cojones porque todo el mundo nos ha querido vender algo. Si vienes a Hoi An prep […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (XII) agosto 10, 2015
      27/05/2015 21:52Hoy os escribo desde el Vinh Hung 3 Hotel, un hotel bastante próximo a la ciudad antigua de Hoi An en el que hemos decidido dormir dos noches de capricho, tampoco es que sea excesivamente caro pues nos está costando 40$ la noche, pero dentro de lo que hemos visto estos días es bastante lujoso, dentro del edificio, en el patio central ocupándo […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (XI) agosto 10, 2015
      26/05/2015 10:55Estamos en el aeropuerto de Phu Quoc, ya tenemos más o menos organizados los días que nos quedan de vieje, bueno a grandes rasgos, pero eso os lo cuento después, voy a seguir con la historia.Cuando dejé de escribir recogimos y nos montamos en la moto, siguiendo por el camino de la costa oeste hacia el norte y ya en el norte, tras pasar varios […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (X) agosto 10, 2015
      25/05/2015 Entre las 12 y las 13Tras mucho tiempo en moto por media isla hemos dado con un chiringuito y escribo a pocos metros del mar tomándome una Bia Saigon muy fría. Voy a contaros lo de las inmersiones. Con Cristina y el resto de la tripulación de Flipper, una pareja de rusos y una pareja de americanos, Dave y Rachel, que viven y trabajan de profesores […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (IX) agosto 9, 2015
      25/05/15 20:50Debería hacerle una foto al cuaderno para que lo vierais porque la calidad de la carretera era medio buena pero ha habido un momento en el que nos hemos salido a un camino de tierra y he tenido que dejar de escribir porque era imposible. Me he propuesto dedicarle el tiempo que haga falta hasta poner el diario al día, pero antes de continuar qui […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (VIII) agosto 9, 2015
      24/05/15 08:23Como de costumbre, primero os cuento dónde ando y luego sigo contando cosas. Estamos en un autobús rumbo al sur de Phu Quoc, vamos a hacer submarinismo tres parejas y el staff de Flipper. Ayer dejé de escribir para despegar y luego no me apeteció seguir escribiendo y se me va acumulando el trabajo.Tras ver el templo de la literatura decidimos p […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (VII) junio 24, 2015
      23/5/2015 11:37Ayer dejé de escribir porque ya nos íbamos y no me dio tiempo a contar nuestro día por Hanoi, me quedé en que habíamos quedado para cenar. Salimos y estaba lloviendo, pero nos estaba esperando un taxi al que no le hizo mucha gracia nuestro trayecto de poco más de un kilómetro. Nos dejó en la puerta de un bar en el que estaban Alfonso (que tamb […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (VI) junio 16, 2015
      21/5/2015 8:35Estoy hecho polvo, la noche ha sido movida, ha hecho mucho calor pero el aire acondicionado no ha dejado de sonar en ningún momento. A las cinco menos algo hemos llegado a Hanoi, hemos recogido nuestras cosas, nos hemos despedido de Eric (!mierda, no tengo ni su email ni nos hemos hecho una foto con él!) y hemos salido a la estación. Yo estaba […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (V) junio 13, 2015
      Me acabo de subir a una litera y no sé qué tal voy a poder escribir, ¿por dónde iba? A ver, souvenirs, mujeres albinas con gorros rojos, comida picante con arroz y palillos y niños bañándose... ah! un perro pidiendo comida con ojos tristes.  Después de comer seguimos andando y Tsum nos metió en una casa y nos contó un poco la historia de la familia y otras c […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (IV) junio 10, 2015
      19/05/2015 por la mañana tempranoHoy es el cumpleaños de Ho Chi Minh, nacido en 1890, el que fue gobernante y lider de la resistencia contra los poderosos de Vietnam y Estados Unidos. El guía que está en nuestro camarote en el tren nos está contando un montón de datos histñoricos de Vietnam y de Ho Chi Minh, estudió en Rusia y luego volvió a Vietnam y unió a […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (III) junio 6, 2015
      18/05/2015 12:38Imposible escribir… sigo luego en el tren… 18/05/2015 20:57 Estoy tumbado en la litera de arriba de un camarote de un tren de camino a Sapa. El otro día escribí en un autobús camino a la Bahía de Ha-Long y esta mañana he intentado escribir en el autobús de vuelta pero me ha sido imposible. La excursión a la bahía de Ha-Long ha sido espectacul […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (II) junio 3, 2015
      17-05-2015 - 07:46No voy a adelantar desde donde escribo hoy, de momento solo voy a decir que no es un lugar muy cómodo para escribir porque se mueve todo.Bueno, ayer nos bajamos del avión y llovía como si lo fueran a prohibir. Justo antes de salir por la aduana del aeropuerto de Hanoi entregamos los pasaportes, los papeles con nuestros datos, las fotos y la […]
      Juan Sin Miedo
    • Vietnam: diario de viaje (I) junio 2, 2015
      Hoy comienzo a transcribir mi diario de viaje, bueno, nuestro diario de viaje porque aunque ésta vez casi todo lo he escrito yo todo lo que estos días iré publicando, lo que se cuenta en este diario, nos pertenece a los dos. Así empieza éste relato con nuestras aventuras y desventuras, esperamos que os guste y que toméis nota si alguna vez pensáis en viajar […]
      Juan Sin Miedo
    • Expedición al Matterhorn 2014 julio 16, 2014
      Durante la última semana he trascrito el relato de nuestro viaje, relato que he escrito durante las muchísimas horas de coche que supuso el retorno a casa. El relato ha gustado mucho y he recibido mensajes tando de amigos y familiares como de contactos, amigos de amigos, de Facebook, dándome, dándonos, la enhorabuena por la expedición y diciendo que les esta […]
      Juan Sin Miedo
    • Expedición al Matterhorn 2014. EPÍLOGO julio 16, 2014
      Como atestigua el medio cuaderno escrito durante lo que llevamos de vuelta a casa nos han pasado muchas cosas durante este viaje. Los tres volvemos un poco mas viejos, un poco mas sabios y un poco mas amigos. El alpinismo no es sólo llegar a la cumbre, una de las primeras lecciones que se aprenden, alpinismo es disfrutar de un viaje largo y difícil,  de la s […]
      Juan Sin Miedo
    • Expedición al Matterhorn 2014. ESCALAR SOBRE EL MEDITERRANEO julio 16, 2014
      07/07/2014"El séquito se quitó el saquito sequito."Oigo gente paseando, bicicletas también. Es muy temprano y me duele la cabeza, tengo una resaca cojonuda, creo que me pasé con los gin tonics.El lugar que habíamos elegido para dormir la noche anterior no era el mejor, desde luego, estábamos muy cerca de las casas y llamábamos bastante la atención […]
      Juan Sin Miedo
    • Expedición al Matterhorn 2014. DESTINO INCIERTO julio 16, 2014
      06/07/201406:30 - Sigue lloviendo, ¡vaya tela! Me doy la vuelta en el saco y veo que los tres acabamos de abrir los ojos, nos hemos despertado a la vez. Miramos fuera... ¡Joder, sigue lloviendo! "Casi mejor seguir durmiendo" - Pensé. Ninguno dijimos nada pero los tres pensamos lo mismo... Y a las 10 de la mañana dejó de llover y empezó a salir el s […]
      Juan Sin Miedo
    • Expedición al Matterhorn 2014. LAS FIEBRES DEL MONT BLANC julio 15, 2014
      05/07/2014Amaneció lloviendo (¡jooooooooder!) pero a las 10 despejó un poco y empezamos a preparar los macutos muy tranquilamente y las 12:30 o una salimos hacia el pueblo y allí nos comimos un kebab buenísimo antes de coger el teleférico. La estación intermedia estaba nublada, había nubes justo por encima nuestro y no vimos el sol hasta quedarnos a ras de l […]
      Juan Sin Miedo
    • Expedición al Matterhorn 2014. RUMBO A CHAMONIX julio 13, 2014
      04/07/2014Desayunamos muy tranquilamente y sacamos y ordenamos todo, desmontamos la tienda y volvimos a cargar el coche (tetris mode on), pagamos el camping y cogimos carretera hacia Chamonix.En la frontera con Francia nos volvieron a parar. ¿He dicho ya que el coche de Borja es muy cantoso? Nos sacaron del coche y revolvieron todo de muy malas maneras. Nos […]
      Juan Sin Miedo
  • febrero 2008
    L M X J V S D
    « Nov   Mar »
     123
    45678910
    11121314151617
    18192021222324
    2526272829  
  • RSS Google: ciencia y tecnología

  • RSS 20 minutos de tecnología

    • Ha ocurrido un error; probablemente el feed está caído. Inténtalo de nuevo más tarde.
  • RSS HISPASEC

    • Ha ocurrido un error; probablemente el feed está caído. Inténtalo de nuevo más tarde.
  • RSS VNUNET

    • Ha ocurrido un error; probablemente el feed está caído. Inténtalo de nuevo más tarde.
  • RSS BarraPunto

BBDD DML SQL

Hola a tod@s. Hacía mucho que no escribía nada en mi blog y voy a aprovechar esta mañana de sabado para dejar mucho cópdigo DML (Data manipulation language).

Vamos a trabajar saobre el siguiente esquema:

OCUPA MUCHO PARA METERLO AQUI.. PINCHA AQUI
–1. Obtenga los tipos de avión, el doble de su envergadura y el cuadrado de su longitud para aquellos
–aviones con longitud menor que la media y que realizan vuelos con origen o destino en una
–ciudad que comience por la letra ‘M’, ordenándolos de mayor a menor envergadura.

–Para obtener la media de la longitud haremos:
SELECT AVG (LONGITUD) FROM AVIONES

–SOLUCIÓN:

SELECT DISTINCT TIPO,2*ENVERGADURA’DOBLE_ENVERG’,
–DISTINCT para que solo me muestre un tipo de avión
LONGITUD*LONGITUD’LONG_SQR’
FROM AVIONES,VUELOS
WHERE LONGITUD<(SELECT avg(LONGITUD) FROM AVIONES)
AND ORIGEN LIKE ‘M%’ OR DESTINO LIKE ‘M%’)
— Para solucionar este error:
— ORDER BY items must appear in the select list if SELECT DISTINCT is specified.
ORDER BY 2*ENVERGADURA DESC — Es lo mismo
–SALIDA:
–tipo DOBLE_ENV LONG_SQR
———————————
–310 87.80 2177.1556
–AB2 68.20 1411.5049
–M87 65.80 1576.0900
–M80 65.72 2032.2064
–M88 65.72 2032.2064
–737 57.76 1115.5600
–D9S 56.84 1321.3225
–DC9 56.84 1321.3225
–73S 56.68 933.9136
–ATR 54.10 735.4944
–CS5 51.62 457.9600
———————————

–2. Obtenga las tres primeras letras de los orígenes y destinos de los vuelos realizados por aviones
–con longitud mayor que la media y envergadura menor que 2/3 la máxima envergadura,
–ordenados alfabéticamente por destino.

SELECT DISTINCT LEFT(ORIGEN,3),LEFT(DESTINO,3)
FROM VUELOS,AVIONES
WHERE ENVERGADURA<(((SELECT AVG(ALCANCE) FROM AVIONES))/2)*3
AND LONGITUD>(SELECT AVG(LONGITUD)FROM AVIONES)
AND TIPO_AVION=TIPO
ORDER BY LEFT(DESTINO,3) DESC

— Para las trés últimas letras sería:

SELECT DISTINCT RIGHT(ORIGEN,3),RIGHT(DESTINO,3)
FROM VUELOS,AVIONES
WHERE ENVERGADURA<(((SELECT AVG(ALCANCE) FROM AVIONES))/2)*3
AND LONGITUD>(SELECT AVG(LONGITUD)FROM AVIONES)
AND TIPO_AVION=TIPO
ORDER BY RIGHT(DESTINO,3) DESC

–3. Obtenga los dos primeros caracteres de los números de vuelo y el origen de los vuelos a los que
–corresponden partes con número de parte entre 400 y 450 y que recorren distancias mayores que
–la media, ordenándolos alfabéticamente por origen.

SELECT DISTINCT LEFT (V.NUM_VUELO,2)’2_CHAR_NV’,ORIGEN
FROM VUELOS V,PARTES P
WHERE NUM_PARTE BETWEEN 400 AND 450
AND V.NUM_VUELO=P.NUM_VUELO
AND DISTANCIA>(SELECT AVG(DISTANCIA) FROM VUELOS)
ORDER BY ORIGEN ASC

–SALIDA:

IB ALICANTE
AO ALMERIA
IB ALMERIA
AO AMSTERDAM
IB AMSTERDAM
IB BARCELONA
IB BILBAO

–4. Obtenga los números de vuelo, las tres primeras letras del origen y las tres primeras letras del
–destino para los vuelos realizados por aviones cuyo alcance sea mayor que la media de todos y
–con longitud menor que 2/3 la máxima longitud, ordenándolos por número de vuelo.

SELECT NUM_VUELO, LEFT(ORIGEN,3)’3_CHAR_ORI’,LEFT(DESTINO,3)’3_CHAR_DES’
FROM AVIONES,VUELOS
WHERE ALCANCE>(SELECT AVG(ALCANCE) FROM AVIONES)
AND AVIONES.TIPO=VUELOS.TIPO_AVION
AND LONGITUD<(((SELECT MAX(LONGITUD) FROM AVIONES))/2)*3
ORDER BY NUM_VUELO

–SALIDA:

AR1100 BUE AMS
AR1110 BUE MAD
AR1127 MAD BUE
AR1342 BUE CAN
AR1386 BUE BOG
AR941 BUE CAR
IB6620 LA MAD
IB6621 MAD LA
IB6840 BUE BAR
IB6842 BUE MAD

–5. Recupere todas las características de los aviones que nunca han pasado por Barcelona.

SELECT DISTINCT AVIONES.*
FROM AVIONES JOIN VUELOS
ON ORIGEN!=’BARCELONA’OR DESTINO !=’BARCELONA’
AND AVIONES.TIPO=VUELOS.TIPO_AVION
ORDER BY TIPO

–SALIDA:

310 Airbus 310 46.66 43.90 191 9400
32S Airbus todas las series 63.70 60.30 255 5000
340 Airbus 340 63.70 60.30 277 11500
727 Boeing 727 48.03 32.92 153 2400
737 Boeing 737 33.40 28.88 136 4000
73S Boeing 727-200 30.56 28.34 121 1700
747 Boeing 747 70.51 59.64 418 10000
74M Boeing 747 COMBI 70.51 59.64 280 10000
74S Boeing 747-200 70.51 59.63 410 10000
757 Boeing 757 47.32 38.05 200 3700
AB2 Airbus A320/200 37.57 34.10 147 3500
AB3 Airbus A300 53.57 44.84 256 3700
ATR ATR-72 27.12 27.05 68 1500
CS5 CASA CN-235 21.40 25.81 44 750
D10 McDonnell Douglas DC-10 55.35 50.39 268 9100
D9S McDonnell Douglas DC-9 Series 30 y 40 36.35 28.42 92 2750
DC9 McDonnell Douglas DC-9 36.35 28.42 92 2750
M80 McDonnell Douglas MD-80 45.08 32.86 165 4631
M87 McDonnell Douglas MD-87 39.70 32.90 109 2900
M88 McDonnell Douglas MD-88 45.08 32.86 155 2100

–6. Indique los tipos de avión, el doble de su longitud y su envergadura, para los aviones con
–envergadura mayor que la media y que realicen vuelos desde o hacia Madrid, ordenándolos de
–mayor a menor longitud.

SELECT DISTINCT TIPO,2*LONGITUD’LONG*2′, ENVERGADURA
FROM AVIONES JOIN VUELOS
ON ENVERGADURA>(SELECT AVG(ENVERGADURA)
FROM AVIONES)
AND ORIGEN!=’MADRID’ OR DESTINO!=’MADRID’ AND TIPO=TIPO_AVION
ORDER BY TIPO

–SALIDA:

310 93.32 43.90
32S 127.40 60.30
340 127.40 60.30
727 96.06 32.92
73S 61.12 28.34
747 141.02 59.64
74M 141.02 59.64
74S 141.02 59.63
757 94.64 38.05
AB3 107.14 44.84
ATR 54.24 27.05
CS5 42.80 25.81
D10 110.70 50.39
D9S 72.70 28.42
DC9 72.70 28.42
M80 90.16 32.86
M87 79.40 32.90

–7. Obtenga, para cada destino, la mayor distancia recorrida hacia él, por vuelos realizados por
–aviones con longitud mayor que la media, ordenados alfabéticamente.

–¿CUÁNTOS DESTINOS DISTINCOS HAY?
SELECT COUNT (DISTINCT DESTINO) FROM VUELOS
— HAY 28

SELECT DESTINO, MAX(DISTANCIA)’MAX_TO’
FROM VUELOS JOIN AVIONES
ON LONGITUD>(SELECT AVG(LONGITUD) FROM AVIONES)
GROUP BY DESTINO –PARA CADA DESTINO
ORDER BY DESTINO ASC

–SALIDA:

310 93.32 43.90
32S 127.40 60.30
340 127.40 60.30
727 96.06 32.92
73S 61.12 28.34
747 141.02 59.64
74M 141.02 59.64
74S 141.02 59.63
757 94.64 38.05
AB3 107.14 44.84
ATR 54.24 27.05
CS5 42.80 25.81
D10 110.70 50.39
D9S 72.70 28.42
DC9 72.70 28.42
M80 90.16 32.86
M87 79.40 32.90

–ME PREGUNTO… ¿CUÁNTOS ORÍGENES DISTINCOS HAY?
SELECT COUNT (DISTINCT ORIGEN) FROM VUELOS
— HAY 20

–8. Obtenga, para cada origen, la menor distancia recorrida desde él por vuelos realizados por
–aviones con menos butacas que la media, ordenados alfabéticamente.

SELECT ORIGEN,MIN(DISTANCIA)’DIST_CLOSER’
FROM VUELOS JOIN AVIONES
ON BUTACAS<(SELECT AVG(BUTACAS) FROM AVIONES)
GROUP BY ORIGEN –PARA CADA ORIGEN
ORDER BY ORIGEN ASC

–SALIDA:

310 93.32 43.90
32S 127.40 60.30
340 127.40 60.30
727 96.06 32.92
73S 61.12 28.34
747 141.02 59.64
74M 141.02 59.64
74S 141.02 59.63
757 94.64 38.05
AB3 107.14 44.84
ATR 54.24 27.05
CS5 42.80 25.81
D10 110.70 50.39
D9S 72.70 28.42
DC9 72.70 28.42
M80 90.16 32.86
M87 79.40 32.90

–9. Indique el total de plazas reservadas existentes para cada número de vuelo de Iberia.

SELECT NUM_VUELO,SUM(PLAZAS)’TOTAL_PLAZAS’ FROM RESERVAS R
WHERE NUM_VUELO LIKE ‘IB%’
GROUP BY NUM_VUELO — DE CADA NUMERO DE VUELO

–SALIDA

IB0103 255
IB0543 193
IB0554 70
IB0557 70
IB0845 420
IB1000 231
IB2614 408

–10. Indique a cuántos destinos diferentes se vuela desde cada uno de los orígenes, mostrando la
–salida ordenada de mayor a menor número de destinos.

SELECT ORIGEN, COUNT(DISTINCT DESTINO)’DESTINOS_POSIBLES’
FROM VUELOS
GROUP BY ORIGEN –DE CADA ORIGEN
ORDER BY ‘DESTINOS_POSIBLES’ DESC

–SALIDA:

ORIGEN DESTINOS_POSIBLES
————————————–
BARCELONA 10
MADRID 9
BUENOS AIRES 7
ALICANTE 6
BILBAO 5
GRAN CANARIA 5
ALMERIA 4
AMSTERDAM 3
TENERIFE 3
LA CORUÑA 2
FUERTEVENTURA 2
LISBOA 2
ROMA 2
SANTIAGO DE CHILE 1
SANTIAGO DE COMPOSTELA 1
SEVILLA 1
PALMA MALLORCA 1
PARIS 1
LA HABANA 1
CASABLANCA 1

–11. Indique cuántos tipos de aviones diferentes salen de cada origen de la tabla vuelos, mostrando la
–salida ordenada de mayor a menor número de aviones. Sólo nos interesan aquellos orígenes de
–los que salen más de tres tipos de aviones diferentes.

SELECT ORIGEN, COUNT(TIPO_AVION)’NUM_AVIONES’, COUNT (DISTINCT TIPO_AVION)’TIPOS_DISTINTOS’
FROM VUELOS
GROUP BY ORIGEN –DE CADA ORIGEN QUE
HAVING COUNT(DISTINCT TIPO_AVION)>3 — TENGA MAS DE TRES TIPOS DE AVIÓN
ORDER BY ‘NUM_AVIONES’ DESC

–SALIDA:

ORIGEN NUM_AVIONES TIPOS_DISTINTOS

BARCELONA 23 6
MADRID 19 8
ALICANTE 14 4
BILBAO 9 4
BUENOS AIRES 9 5
GRAN CANARIA 9 4
ALMERIA 6 4

— SE PODRÍA HABER INTERPRETADO ORDENADO DE MAYOR A MENOR NUMERO DE TIPO DE AVIONES DISTINTOS

SELECT ORIGEN, COUNT (DISTINCT TIPO_AVION)’TIPOS_DISTINTOS’
FROM VUELOS
GROUP BY ORIGEN –DE CADA ORIGEN QUE
HAVING COUNT(DISTINCT TIPO_AVION)>3 — TENGA MAS DE TRES TIPOS DE AVIÓN
ORDER BY ‘TIPOS_DISTINTOS’ DESC

— SALIDA:

ORIGEN TIPOS_DISTINTOS

MADRID 8
BARCELONA 6
BUENOS AIRES 5
GRAN CANARIA 4
BILBAO 4
ALICANTE 4
ALMERIA 4

–12. ¿Cuántas horas de salida diferentes hay para cada tramo (origen – destino) de la tabla vuelos?

SELECT ORIGEN,DESTINO, COUNT(DISTINCT HORA_SALIDA)’HORAS_DE_SALIDA’
FROM VUELOS
GROUP BY ORIGEN, DESTINO–PARA CADA TRAMO
ORDER BY ‘HORAS_DE_SALIDA’ DESC

–SALIDA:

BARCELONA MADRID 6
MADRID BARCELONA 5
ALICANTE BARCELONA 4
ALICANTE AMSTERDAM 3
BILBAO MADRID 3
PARIS MADRID 3
BARCELONA MALAGA 3
SANTIAGO DE COMPOSTELA MADRID 3
BARCELONA SANTIAGO DE COMPOSTELA 3
MADRID SANTIAGO DE COMPOSTELA 2
BARCELONA SEVILLA 2
FUERTEVENTURA TENERIFE 2
GRAN CANARIA TENERIFE 2
SEVILLA MADRID 2
MADRID PARIS 2
MADRID ROMA 2
ROMA MADRID 2
AMSTERDAM MADRID 2
PALMA MALLORCA MADRID 2
BUENOS AIRES MADRID 2
GRAN CANARIA MADRID 2
GRAN CANARIA LANZAROTE 2
MADRID LISBOA 2
ALICANTE MADRID 2
BILBAO AMSTERDAM 2
BUENOS AIRES AMSTERDAM 2
AMSTERDAM ALICANTE 2
BARCELONA ALICANTE 2
ROMA BARCELONA 2
BILBAO BARCELONA 2
BARCELONA BILBAO 2
SANTIAGO DE CHILE BUENOS AIRES 2
GRAN CANARIA FUERTEVENTURA 2
FUERTEVENTURA GRAN CANARIA 2
TENERIFE GRAN CANARIA 2
BARCELONA LA CORUÑA 2
MADRID LA CORUÑA 2
MADRID LA HABANA 1
BARCELONA LANZAROTE 1
BUENOS AIRES LA CORUÑA 1
BARCELONA HANOVER 1
GRAN CANARIA HIERRO 1
TENERIFE HIERRO 1
LISBOA GRAN CANARIA 1
ALICANTE GRAN CANARIA 1
BUENOS AIRES CANCUN 1
BUENOS AIRES CARACAS 1
MADRID CASABLANCA 1
BUENOS AIRES BOGOTA 1
MADRID BUENOS AIRES 1
BUENOS AIRES BARCELONA 1
LA CORUÑA BARCELONA 1
ALICANTE BERLIN 1
ALICANTE BILBAO 1
BILBAO ALICANTE 1
AMSTERDAM ALMERIA 1
BARCELONA ALMERIA 1
ALMERIA BARCELONA 1
ALMERIA MADRID 1
ALMERIA LONDRES 1
LA CORUÑA MADRID 1
LA HABANA MADRID 1
LISBOA MADRID 1
BILBAO MALAGA 1
ALMERIA MELILLA 1
CASABLANCA PARIS 1
TENERIFE MADRID 1

–13. Obtenga, para cada número de vuelo, el total de plazas reservadas de los vuelos que recorren
–distancias mayores que la media de las distancias recorridas por vuelos de la misma compañía.
–Sólo nos interesan aquellos vuelos en los que el total de plazas reservadas es mayor que la media
–de plazas reservadas para los vuelos de Iberia.

–POR PARTES ..
— número de vuelo y total de plazas reservadas…
SELECT R.NUM_VUELO,SUM(R.PLAZAS)’TOTAL_PLAZAS_RESERVADAS’
FROM RESERVAS R, VUELOS V
WHERE R.NUM_VUELO=V.NUM_VUELO
GROUP BY R.NUM_VUELO
–SALIDA 1:
VUELO TOTAL_PLAZAS_RESERVADAS
IB0103 255
IB0543 193
IB0554 70
IB0557 70
IB0845 420
IB1000 231
IB2614 408

–mayores que la media de las distancias recorridas por vuelos de la misma compañía.
–LA MEDIA DE LAS DISTANCIAS RECORRIDAS ES:
SELECT AVG(DISTANCIA) FROM VUELOS = 995

SELECT R.NUM_VUELO,SUM(R.PLAZAS)’TOTAL_PLAZAS_RESERVADAS’, AVG(DISTANCIA)
FROM RESERVAS R, VUELOS V
WHERE R.NUM_VUELO=V.NUM_VUELO
AND V.DISTANCIA>(SELECT AVG(DISTANCIA) FROM VUELOS)
GROUP BY R.NUM_VUELO

AND R.NUM_VUELO=A.TIPO
GROUP BY R.NUM_VUELO

—me estoy volviendo 1OcO!…… ESTE DE MOMENTO NO ME SALE

SELECT R.NUM_VUELO, SUM(PLAZAS)
FROM RESERVAS R, VUELOS V
WHERE V.NUM_VUELO=R.NUM_VUELO
AND DISTANCIA >(SELECT AVG(DISTANCIA) FROM VUELOS
WHERE LEFT (VUELOS.NUM_VUELO,2)=LEFT (V.NUM_VUELO,2))
GROUP BY R.NUM_VUELO
HAVING SUM(PLAZAS)>(SELECT AVG(PLAZAS)FROM RESERVAS
WHERE LEFT (NUM_VUELO,2)= ‘IB’);

–14. Obtenga la hora de salida más temprana para cada uno de los orígenes de los vuelos realizados
–por aviones con un alcance menor que 2/3 de la media del alcance de los otros aviones.

SELECT ORIGEN, MIN( HORA_SALIDA)’HORA_MAS_TEMPRANA’
FROM VUELOS JOIN AVIONES A
ON ALCANCE<(((SELECT AVG(ALCANCE) FROM AVIONES))/2)*3
GROUP BY ORIGEN — CADA ORIGEN

–SALIDA:

ALICANTE 1900-01-01 07:35:00.000
ALMERIA 1900-01-01 09:25:00.000
AMSTERDAM 1900-01-01 11:20:00.000
BARCELONA 1900-01-01 07:35:00.000
BILBAO 1900-01-01 07:45:00.000
BUENOS AIRES 1900-01-01 08:50:00.000
CASABLANCA 1900-01-01 15:05:00.000
FUERTEVENTURA 1900-01-01 08:45:00.000
GRAN CANARIA 1900-01-01 06:50:00.000
LA CORUÑA 1900-01-01 09:35:00.000
LA HABANA 1900-01-01 17:35:00.000
LISBOA 1900-01-01 09:05:00.000
MADRID 1900-01-01 07:50:00.000
PALMA MALLORCA 1900-01-01 07:50:00.000
PARIS 1900-01-01 07:05:00.000
ROMA 1900-01-01 08:25:00.000
SANTIAGO DE CHILE 1900-01-01 07:00:00.000
SANTIAGO DE COMPOSTELA 1900-01-01 07:10:00.000
SEVILLA 1900-01-01 07:30:00.000
TENERIFE 1900-01-01 08:00:00.000

–15. Obtenga los números de parte de los partes que corresponden a vuelos que recorren una
–distancia mayor que la media de la distancia de los otros vuelos.

SELECT DISTINCT NUM_PARTE
FROM PARTES JOIN VUELOS
ON DISTANCIA>(SELECT AVG(DISTANCIA) FROM VUELOS)

–SALIDA: 125 NUMEROS DE PARTE

–CURIOSIDAD: ¿CUÁNTO SUMAN TODOS?
SELECT SUM (DISTINCT NUM_PARTE)
FROM PARTES JOIN VUELOS
ON DISTANCIA>(SELECT AVG(DISTANCIA) FROM VUELOS)
–SALIDA: 56936

–CURIOSIDAD 2 : ¿CUÁL ES LA MEDIA?
SELECT AVG (DISTINCT NUM_PARTE)
FROM PARTES JOIN VUELOS
ON DISTANCIA>(SELECT AVG(DISTANCIA) FROM VUELOS)
–SALIDA: 455

–CURIOSIDAD 3: SEGÚN LA CALCULADORA N*MEDIA = 455*125= 56875
SELECT (AVG (DISTINCT NUM_PARTE)*COUNT(DISTINCT NUM_PARTE))
FROM PARTES JOIN VUELOS
ON DISTANCIA>(SELECT AVG(DISTANCIA) FROM VUELOS)
–SALIDA: 56875

–16. Obtenga el número de butacas de aquellos aviones con más butacas que la media de los otros
–aviones y envergadura menor que la media de las diferentes envergaduras de los otros aviones.

SELECT BUTACAS
FROM AVIONES
WHERE BUTACAS>(SELECT AVG(BUTACAS)FROM AVIONES)
AND ENVERGADURA<(SELECT AVG (ENVERGADURA) FROM AVIONES)

–SALIDA:

200

–17. Obtenga la longitud de aquellos aviones con longitud menor que la media de los otros aviones y
–capacidad mayor que la media de las diferentes capacidades de los otros aviones.

SELECT LONGITUD
FROM AVIONES
WHERE LONGITUD<(SELECT AVG(LONGITUD) FROM AVIONES )
AND BUTACAS>(SELECT AVG(BUTACAS) FROM AVIONES)

–SALIDA: NADA PROBEMOS A INVERTIR LAS CONDICIONES

SELECT LONGITUD
FROM AVIONES
WHERE LONGITUD>(SELECT AVG(LONGITUD) FROM AVIONES )
AND BUTACAS<(SELECT AVG(BUTACAS) FROM AVIONES)

–SALIDA:

48,03

–18. Obtenga la longitud de los aviones que realizan vuelos que recorren distancias mayores que la
–media de las distancias de los vuelos recorridos por la misma compañía.

SELECT DISTINCT LONGITUD
FROM AVIONES,VUELOS,COMPANIAS
WHERE DISTANCIA>(SELECT AVG(DISTANCIA) FROM VUELOS)
AND LEFT (NUM_VUELO,2)=CODE

–SALIDA:

21.40
27.12
30.56
33.40
36.35
37.57
39.70
45.08
46.66
47.32
48.03
53.57
55.35
63.70
70.51

–19. Saliendo en el primer vuelo Sevilla – Madrid, averigüe la hora de salida del primer vuelo que se
–puede coger en Madrid con destino a Barcelona.

–HORARIOS DE LLEGADA A MADRID DESDE EL PRIMER VUELO DESDE SEVILLA
SELECT MIN (HORA_LLEGADA)
FROM VUELOS
WHERE ORIGEN=’SEVILLA’
AND DESTINO=’MADRID’

–SALIDA: EL PRIMER AVION LLEGA A MADRID A LAS 08:25:00.000

–HORARIOS DESDE MADRID HACIA BARCELONA
SELECT HORA_SALIDA
FROM VUELOS
WHERE ORIGEN=’MADRID’
AND DESTINO=’BARCELONA’
ORDER BY HORA_SALIDA
–TODO JUNTO
SELECT MIN (HORA_SALIDA)
FROM VUELOS
WHERE ORIGEN=’MADRID’
AND DESTINO=’BARCELONA’
AND (HORA_SALIDA>(SELECT MIN (HORA_LLEGADA)
FROM VUELOS
WHERE ORIGEN=’SEVILLA’
AND DESTINO=’MADRID’))

–SALIDA: EL VUELO DE LAS 10:00:00.000, ¡¡¡TODO CONCUERDA!!!

–20. Obtenga el total de plazas reservadas para vuelos de Iberia cada día entre cada dos ciudades,
–ordenados de mayor a menor número de plazas reservadas.

SELECT ORIGEN,DESTINO , SUM(PLAZAS) ‘TOTAL_PLAZAS’
FROM RESERVAS R, VUELOS V
WHERE R.NUM_VUELO=V.NUM_VUELO
AND LEFT (V.NUM_VUELO,2)=’IB’
GROUP BY ORIGEN,DESTINO
ORDER BY ‘TOTAL_PLAZAS’ DESC

–SALIDA:

SEVILLA MADRID 255
MADRID BARCELONA 231
BARCELONA MADRID 227
MADRID BARCELONA 215
BARCELONA MADRID 193
MADRID BARCELONA 193
SANTIAGO DE COMPOSTELA MADRID 120
SANTIAGO DE COMPOSTELA MADRID 73
MADRID SANTIAGO DE COMPOSTELA 70
SANTIAGO DE COMPOSTELA MADRID 70

— OBSERVACIÓN: PERO SOLO QUIERO NÚMEROS DE VUELO
— LO QUIERO RELACIONADO CON NUM_VUELO
— USANDO JOIN…

SELECT V.NUM_VUELO, SUM(PLAZAS) ‘TOTAL_PLAZAS’
FROM RESERVAS R , VUELOS V
WHERE R.NUM_VUELO=V.NUM_VUELO
AND LEFT (V.NUM_VUELO,2)=’IB’
GROUP BY V.NUM_VUELO
ORDER BY ‘TOTAL_PLAZAS’ DESC

–SALIDA:

IB0845 420
IB2614 408
IB0103 255
IB1000 231
IB0543 193
IB0554 70
IB0557 70

–21. Obtenga los diferentes recorridos que se pueden realizar desde una ciudad hasta Madrid y
–haciendo escala llegar a otra ciudad.

SELECT DISTINCT V1.ORIGEN ‘DESDE’,
V1.DESTINO ‘PASANADO POR’,
V2.DESTINO ‘HASTA’
FROM VUELOS V1, VUELOS V2
WHERE V1.DESTINO=’MADRID’
AND V2.ORIGEN=’MADRID’

–SALIDA: 144 POSIBILIDADES…
–DESDE:
–ALICANTE MADRID BARCELONA
–HASTA:
–TENERIFE MADRID SANTIAGO DE COMPOSTELA

–22. Obtenga, en una sola columna, los nombres de todas las ciudades que aparecen en la tabla de
–vuelos, ordenados alfabéticamente.

SELECT ORIGEN ‘CIUDADES CON AEROPUERTO’
FROM VUELOS
UNION
SELECT DESTINO
FROM VUELOS
ORDER BY ORIGEN

— SALIDA: LAS 30 CIUDADES

–23. Obtenga en una sola columna el nombre de todas las ciudades origen de un vuelo y el de las que
–son destino de un vuelo. (Una misma ciudad puede aparecer como origen y como destino.)

SELECT DISTINCT ORIGEN
FROM VUELOS
UNION ALL –¿SE REFIERE A ESTO?
SELECT DISTINCT DESTINO
FROM VUELOS

–24. Obtenga en dos columnas, para cada ciudad que es origen, el número de vuelos que salen de ella
–y luego para cada una que es destino, el número de vuelos que recibe.

SELECT DISTINCT ORIGEN AS CIUDAD, COUNT(DESTINO) ‘NUM_VUELOS’
FROM VUELOS GROUP BY ORIGEN
UNION ALL
SELECT DISTINCT DESTINO AS CIUDAD,COUNT(ORIGEN) ‘NUM_VUELOS’
FROM VUELOS GROUP BY DESTINO

–25. Obtenga en tres columnas, para cada ciudad que aparece en la tabla vuelos, su nombre ordenado
–alfabéticamente, el total de vuelos que parten de ella y el total de vuelos que llegan a ella. Si no
–llega o no parte ningún vuelo, debe aparecer cero en la columna correspondiente.

SELECT DISTINCT ORIGEN, COUNT(DESTINO),ORIGEN=0
FROM VUELOS GROUP BY ORIGEN
UNION
SELECT DISTINCT DESTINO, DESTINO=0, COUNT(ORIGEN)
FROM VUELOS GROUP BY DESTINO

–26. Obtenga en dos columnas, las diferentes fechas de llegada reflejadas en los partes de vuelo con el
–menor combustible consumido en cada una de ellas y, a continuación, estas mismas fechas con el
–mayor combustible consumido en cada una de ellas.

SELECT FECHA, MIN(COMB_CONSUMIDO) ‘COMBUSTIBLE_CONSUMIDO’
FROM PARTES
GROUP BY FECHA
UNION ALL
SELECT FECHA,MAX(COMB_CONSUMIDO)
FROM PARTES
GROUP BY FECHA

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: