Esercitazione 1.4: Aggiunta di unioni, di una condizione di query e di una proposizione GROUP BY

Prima di iniziare, è necessario completare Esercitazione 1.3: Definizione delle colonne dei risultati

In questa esercitazione, viene qualificata la query mediante la seguente procedura:

Unione di tabelle

Un'operazione di unione consente di recuperare dati da due o più tabelle in base ai valori di colonna corrispondenti. I dati delle tabelle sono collegati in un singolo risultato. Per questa query sono necessarie due unioni.Il risultato della query deve includere le voci delle tabelle RENTALS e CUSTOMERS, i cui valori di colonna corrispondenti sono CUST_ID. Il risultato della query deve includere anche le voci delle tabelle RENTALS e VIDEOS, che presentano ID video corrispondenti (valori di colonna VID_ID).

  1. Nel riquadro Tabelle, fare clic con il pulsante destro del mouse sull'intestazione della tabella R, quindi fare clic su Crea unione nel menu a comparsa.
  2. Nella finestra Creazione unione, in Origine, effettuare le seguenti selezioni:
    1. Nell'elenco Tabella (alias), fare clic su RENTALS (R).
    2. Nell'elenco Colonna, fare clic su CUST_ID.
  3. In Destinazione, effettuare le seguenti selezioni:
    1. Nell'elenco Tabella (alias), fare clic su CUSTOMERS (C).
    2. Nell'elenco Colonna, fare clic su CUST_ID.
  4. Fare clic su OK. Un connettore di unione viene visualizzato tra le due colonne.
  5. Nel riquadro Tabelle, trascinare il puntatore dalla colonna VID_ID della tabella R (RENTALS) alla colonna VID_ID della tabella V (VIDEOS).

Nel riquadro Origine SQL vengono visualizzate le unioni presenti nel codice di origine:

   WHERE
         R.CUST_ID = C.CUST_ID
         AND R.VID_ID = V.VID_ID

Nel riquadro Tabelle, sono state create entrambe le unioni, come riportato di seguito:

Unioni di tabella

È possibile modificare il tipo di unione (ad esempio, dall'unione interna predefinita all'unione esterna di sinistra, di destra o completa) presente nel riquadro Tabelle facendo clic con il pulsante destro del mouse sul connettore, selezionando Specificare il tipo di unione nel menu a comparsa, quindi selezionando il tipo di unione desiderato nella finestra Definizione unione.

Creazione di una condizione di query

Per la query, è necessaria una condizione di query, in modo che dalla query vengano estratte solo le righe di risultati che presentano il nome cliente desiderato. Le condizioni vengono aggiunte alla query utilizzando la pagina Condizioni nel riquadro Progettazione.

  1. Fare clic sulla scheda Condizioni per visualizzare la pagina Condizioni.
  2. Fare doppio clic nella colonna Colonna, quindi fare clic su C.NAME nell'elenco.
  3. Fare doppio clic nella colonna Operatore, quindi fare clic sull'operatore =.
  4. Fare doppio clic nella colonna Valore e immettere :custName. Il carattere di due punti seguito da un nome di variabile è la sintassi SQL per una variabile che verrà sostituita con un valore, al momento dell'esecuzione della query. Questa operazione sarà visibile al momento dell'esecuzione della query SQL.

La pagina Condizioni appare simile all'immagine riportata in basso:

Riquadro Progettazione - Pagina Condizioni

Aggiunta di una proposizione GROUP BY

La query viene raggruppata per giorno della settimana, per titolo e per nome cliente. Per creare una proposizione GROUP BY nel generatore SQL, utilizzare la pagina Gruppi del riquadro Progettazione. In questa vista, è possibile anche creare raggruppamenti più avanzati nel risultato della query, utilizzando espressioni di colonna, gruppi nidificati, insiemi di raggruppamenti (solo in DB2 Universal Database) e funzioni di raggruppamento ROLLUP e CUBE (in Oracle e DB2 Universal Database).

  1. Nel riquadro Progettazione, fare clic sulla scheda Gruppi.
  2. Aggiungere la funzione DAYOFWEEK come una colonna di risultati.
    1. Nella tabella Colonna, fare doppio clic sulla prima riga, fare clic su Genera espressione nell'elenco, quindi premere Invio.
    2. Nella pagina Generatore di espressioni della procedura guidata, fare clic su Funzione. Si apre la pagina Generatore espressione funzione.
    3. Nell'elenco Selezionare la categoria di una funzione, fare clic su Data e ora.
    4. Nell'elenco Selezionare una funzione, fare clic su DAYOFWEEK.
    5. Nell'elenco Selezionare la firma di una funzione, fare clic su DAYOFWEEK(DATE) --> INTEGER.
      La firma della funzione indica che la funzione richiede un argomento.
    6. Nella colonna Valore della tabella di argomenti, fare clic sulla cella, fare clic su R.DATE nell'elenco, quindi premere Invio.
    7. Fare clic su Fine. La funzione DAYOFWEEK viene visualizzata nella prima cella della tabella Colonna.
  3. Nella seconda riga della tabella Colonna, selezionare la colonna V.TITLE dall'elenco, quindi, nella terza riga, selezionare C.NAME. La pagina Gruppi appare simile all'immagine riportata in basso:

    Riquadro Progettazione - Pagina Gruppi

La query è ora completa. Nel generatore SQL, la query appare simile a quanto di seguito riportato:

Query completata

Si è ora pronti a iniziare Esercitazione 1.5: Esecuzione della query SQL

Termini di utilizzo | Feedback
(C) Copyright IBM Corporation 2000, 2005. Tutti i diritti riservati.