Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    255

    sql principiante

    buongiorno a tutti...sono uno studente universitario che sta preparando ad effettuare l'esame di sql,ma vedendo un post di un esame precedente mi sono sorti molti dubbi...vorrei un aiutino se possibile
    grazie anticipatamente

    l'esame:
    si consideri una base di dati aziendale descritta dal seguente schema:
    Passeggero(CodPasseggero, Nome, Cognome, Regione)
    Biglietto(CodBiglietto, Serie, Categoria, Posto)
    Stazione(CodStazione, Nome, Localita, Regione)
    Treno(CodTreno, CodStazionePar, CodStazioneArr, OrarioPar, OrarioArr, Categoria)
    Capotreno(CodCapotreno, Nome, Cognome, Regione)
    Acquisto(CodPasseggero, CodBiglietto, CodTreno, Data, Prezzo)
    Servizio(CodCapotreno, CodTreno, Data, NumeroOre)

    Si scrivano in Algebra Relazionale (ove possibile) ed SQL le seguenti query:

    Q1. Nomi e cognomi dei passeggeri che hanno acquistato durante il 2007 solo biglietti il cui prezzo è compreso nell’intervallo [15,35] €


    CREATE VIEW PasseggeroMin15Max35(CodPasseggero) AS(
    SELECT P.CodPasseggero
    FROM Passeggero P INNER JOIN Acquisto A ON P.CodPasseggero=A.CodPasseggero
    WHERE A.PREZZO>15
    AND A.PREZZO<35
    AND A.DATA>=DATE("01/01/2007")
    AND A.DATA<=DATE("31/12/2007");

    SELECT DISTINCT P.Cognome AS Cognome, P.Nome AS Nome
    FROM Passeggero P
    WHERE P.CodPasseggero NOT IN
    SELECT PM15M35.CodPasseggero
    FROM PasseggeroMin15Max35 PM15M35;

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    255
    Ragazzi volevo sapere se ci sono errori in questa query da me realizzata e se si ,se mi potete aiutare a risolverli.

    ps c'è un programma che genera sql,più che altro mi serve per controllare se faccio errori....

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2002
    Messaggi
    255
    seconda query proposta=Q2. Nomi e cognomi dei passeggeri che hanno acquistato durante il secondo semestre del 2007 biglietti relativi a treni che partono da regioni dell’Italia Meridionale ed arrivano in regioni dell’Italia Settentrionale senza mai passare per la Toscana

    sql:
    CREATE VIEW TreniParRegMerArrRegSett(CodTreno) AS
    SELECT T.CodTreno
    FROM Treno T INNER JOIN Stazione S ON T.CodStazione=S.CodStazione
    WHERE S.Regione="CALABRIA"
    OR S.Regione="LOMBARDIA" ; ) ;

    CREATE VIEW TreniParRegMerArrRegSettSenPassToscana(CodTreno) AS
    SELECT S.CodStazione
    FROM Stazione S
    WHERE S.Regione="TOSCANA"
    (SELECT TPRMARS.CodTreno
    FROM TreniParRegMerArrRegSett TPRMARS ; ) ;

    SELECT P.Cognome AS Cognome, P.Nome AS Nome
    FROM Passeggero P INNER JOIN Acquista A ON P.CodPasseggero=A.CodPasseggero
    WHERE A.DATA>=DATE("01/07/2007")
    OR A.DATA<=DATE("31/12/2007");

    ( SELECT V1.CodTreno IN
    FROM TreniParRegMerArrRegSett V1 ; ) ;

    ( SELECT V2.CodTreno NOT IN
    FROM TreniParRegMerArrRegSettSenPassToscana V2 ; ) ;

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.