+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Aiuto Query in SQL

  1. #1
    GiuliaDi non è in linea Novello
    Post
    3

    Unhappy Aiuto Query in SQL

    Salve, devo svolgere un esame ed ho difficoltà a svolgere delle query in SQL.
    Ho una tabella su access denominata cd con campi Artista,Titolo CD, Data Acquisto, Sito Web e Brani.
    Devo creare una query che dice:
    Utilizzando SQL crea la seguente query e salvala con il nome Query 02“Tutti i dati presenti nella tabella, ordinati per titolo CD”
    Ed un'altra:
    “Tutti i CD acquistati tra il 20/12/2008 e il 15/06/2010 che a) sono di Gianna Nannini oppure che b) presentano almeno 50 brani, indipendentemente dall’artista”
    Per capire qualcosa in più vi lascio il sito Corso di Inf. Generale - R. Aiello
    Il database di cui parlo è DB CD (SQL).
    Grazie in anticipo.

  2. #2
    L'avatar di alextyx
    alextyx non è in linea Moderatore Globale
    Luogo
    Prato
    Post
    2,585
    La richiesta, messa giù così, sarebbe da classificare come 'richiesta di pappa pronta', cosa non ammessa dalla netiquette del forum, se non nelle sezioni dedicate alle richieste di prestazioni professionali, a pagamento, ma non credo sia quello che cerchi e francamente sarebbe anche cosa piuttosto banale per costituire una seria 'commessa di lavoro'.
    Ti suggerisco di provare a buttare giù una query e di verificare il suo effetto, cercando di capire cosa stai scrivendo, ovviamente. Partendo da lì, ovvero dall'aver dimostrato una minima acculturazione e buona volontà, penso che eventuali suggerimenti e correzioni, arriveranno senz'altro.
    Ciao

  3. #3
    GiuliaDi non è in linea Novello
    Post
    3
    Ho scritto così per creare la quinta ed esce il risultato che mi serve:
    SELECT *
    FROM Cd
    WHERE [Data acquisto] BETWEEN #20/12/2008# AND #15/06/2010# AND Artista="Gianna Nannini" OR [Data acquisto] BETWEEN #20/12/2008# AND #15/06/2010# AND Brani>=50
    Va bene mettere la ripetizione o è considerato un errore?

  4. #4
    GiuliaDi non è in linea Novello
    Post
    3
    Ho scritto così per creare la quinta ed esce il risultato che mi serve:
    SELECT *
    FROM Cd
    WHERE [Data acquisto] BETWEEN #20/12/2008# AND #15/06/2010# AND Artista="Gianna Nannini" OR [Data acquisto] BETWEEN #20/12/2008# AND #15/06/2010# AND Brani>=50
    Va bene mettere la ripetizione o è considerato un errore?

  5. #5
    L'avatar di sistemista
    sistemista non è in linea Topo di biblioteca
    Luogo
    Prato
    Post
    2,697
    Tutti i dati presenti nella tabella, ordinati per titolo CD
    ti manca 1 cosa:

    Ordinamento ORDER BY titolo cd ASC(di solito)
    per il resto mi sembra a posto.
    Sono stato nella terra del terrore e dei Vampiri...la transilvania? No!..in Banca.
    A Lupara?Min***a...Tecnologia Sicula è!

  6. #6
    L'avatar di +m+
    +m+
    +m+ non è in linea Scribacchino
    Post
    922
    between non si usa praticamente mai nella pratica a favore di >= e <=. attenzione anche ad usare parentesi per evitare grossi problemi di priorità degli operatori and e or

  7. #7
    L'avatar di gibra
    gibra ora è in linea Amanuense
    Luogo
    Breganze (VI)
    Post
    6,058
    Mah, a mio avviso è tutto sbagliato, ad iniziare dal titolo della discussione!

    Aiuto Query in SQL è un titolo assolutamente generico (quindi vietato dal regolamento) e non significa nulla di nulla.

    poi:
    Il database di cui parlo è DB CD (SQL).
    altra indicazione completamente sbagliata.
    Non esiste alcun database DB CD.
    e SQL è l'acronimo del linguaggio dei database Structured Query Language e NON è un database.

    Andiamo avanti: la query mostra le date racchiuse tra cancelletti.
    Non mi risulta che ciò sia in sintonia con MySQL (visto che è questo il forum in questione).

    Al contrario, mi risulta che il cancelletto è utilizzato solo nei database Access.

    Infine, le date negli enunciati SQL vanno indicate nel formato MM/DD/YYYY; almeno nella stragrande maggioranza dei database, se non indicato diversamente.
    Invece nelle query sono indicate nel formato DD/MM/YYYY, quindi vanno corrette.



    @+m+
    Che BETWEEN non si usi mai nella pratica è una tua convinzione e/o una tua scelta.
    Nella realtà NON è assolutamente così; e non vedo perché mai dovrebbe esserlo.


  8. #8
    L'avatar di +m+
    +m+
    +m+ non è in linea Scribacchino
    Post
    922
    non si usa per problemi di portabilità ma soprattutto perché richiede i due estremi cosa che normalmente non è obbligatoria

  9. #9
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Post
    2,824
    Quote Originariamente inviato da gibra Visualizza il messaggio
    altra indicazione completamente sbagliata.
    Non esiste alcun database DB CD.
    e SQL è l'acronimo del linguaggio dei database Structured Query Language e NON è un database.
    Credo che CD sia il nome del database suggerito dall'esercizio. Il database dovrebbe essere Access come si desume dall'uso dei cancelletti per le date.

    Quote Originariamente inviato da gibra Visualizza il messaggio
    Che BETWEEN non si usi mai nella pratica è una tua convinzione e/o una tua scelta.
    Nella realtà NON è assolutamente così; e non vedo perché mai dovrebbe esserlo.
    Assolutamente d'accordo.
    Il regolamento del forum: la prima cosa da leggere.

  10. #10
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,190
    Blogs
    5
    Between si usa ma con cognizione di causa perché il suo funzionamento può essere abbastanza diverso a seconda del DBMS e la cosa può portare a subdoli malfunzionamenti. Sicuramente l'uso degli operatori relazionali garantisce maggiori garanzie di portabilità.
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi