1. N.B.
    1. termini
      1. Parola chiave
        1. fa riferimento a singolo elemento SQL
          1. SELECT
          2. FROM
      2. Clausola
        1. parte di un'istruzione SQL
          1. SELECT employee_id, last_name, ...,
      3. Istruzione
        1. combinazione di 2 o + clausole
          1. SELECT * FROM employees
    2. Scrittura istruzioni
      1. Le istruzioni SQL non sono case-sensitive (maiusc=minusc)
      2. Istruzioni si possono scrivere su più righe
      3. No abbreviazioni parole chiave e non vanno suddivise su più righe
      4. In genere clausole disposte su righe separate
      5. Consigliata indentazione x facilitare lettura
      6. Terminare istruzione con ';'
  2. Istruzione SELECT base
  3. Selezione colonna
    1. TUTTE le col
    2. Col SPECIFICHE
  4. Espressioni aritmetiche
    1. Operatori aritmetici SQL
      1. ES)
        1. Tenere presente che la colonna risultante calcolata SALARY+300 non costituisce una nuova col della tab EMPLOYEES -> viene solo visualizzata
      2. N.B.
        1. Operatori si possono usare in qualsiasi clausola, tranne nel FROM
        2. con i tipi di dati DATE e TIMESTAMP è possibile utilizzare solo gli operatori di addizione e sottrazione
        3. il server Oracle ignora gli spazi che precedono e seguono l'operatore aritmetico.
    2. Precedenza operatori
      1. Regole
        1. La moltiplicazione e la divisione vengono eseguite prima dell'addizione e della sottrazione.
        2. Gli operatori con la stessa priorità vengono valutati da sinistra verso destra.
        3. Le parentesi vengono utilizzate per sostituire la precedenza predefinita o migliorare la leggibilità dell'istruzione.
  5. Valore nullo
    1. Val. nullo in generale
      1. Nella colonna COMMISSION_PCT della tabella EMPLOYEES tenere presente che solo un responsabile delle vendite o un rappresentante commerciale può percepire una commissione. Gli altri impiegati non hanno diritto a percepire commissioni. Un valore nullo indica questa condizione.
      2. N.B.
        1. Lo zero è un numero e lo spazio è un carattere
        2. Le colonne di qualsiasi tipo di dati possono contenere valori nulli. Alcuni vincoli, tuttavia, (NOT NULL e PRIMARY KEY) impediscono l'uso dei valori nulli nella col
    2. Val. nullo in espressioni aritmetiche
      1. Se, ad esempio, si tenta di eseguire una divisione per zero, viene restituito un errore. Se, tuttavia, si divide un numero per un valore nullo, il risultato è un valore nullo o sconosciuto.
  6. ALIAS colonna
    1. Caratteristiche
      1. Consente di rinominare un'intestazione di col
      2. Utile nei calcoli.
      3. È immediatamente successivo al nome di colonna (è anche possibile che tra il nome di colonna e l'alias sia presente la parola chiave opzionale AS)
      4. È obbligatorio racchiudere l'alias tra virgolette se contiene spazi o caratteri speciali oppure se prevede la distinzione tra maiuscole e minuscole.
    2. esempi
      1. Tenere presente che la parola chiave opzionale AS è stata utilizzata prima dell'alias di colonna. Il risultato della query è lo stesso indipendentemente dall'uso o meno della parola chiave AS
      2. Alias col vengono visualizzati in lettere minuscole, mentre nel risultato della query le intestazioni di colonna vengono visualizzate in lettere maiuscole <- è impostazione predefinita
      3. Se l'alias contiene spazi o caratteri speciali (quali ad esempio # o $) o prevede la distinzione tra maiuscole e minuscole, racchiudere l'alias tra virgolette (" ").
    3. =
  7. Concatenazione
    1. Val. nulli
      1. Se si concatena un valore nullo a una stringa di caratteri, viene restituita una stringa di caratteri. LAST_NAME || NULL restituisce -> LAST_NAME.
  8. Stringhe
    1. Caratteristiche
      1. Una stringa alfanumerica è un carattere, un numero o una data inclusa nell'istruzione SELECT.
      2. I valori di stringhe di caratteri e date devono essere racchiusi tra apici.
      3. Ciascuna stringa di caratteri viene visualizzata in output una sola volta per ciascuna riga restituita.
    2. esempi
      1. opp
  9. Apice alternativo
    1. N.B.
      1. Se la stringa alfanumerica contiene un apice, è possibile utilizzare l'operatore di apice (q) e scegliere il proprio delimitatore di apice.
        1. È possibile scegliere qualsiasi delimitatore appropriato, a byte singolo o a più byte oppure una delle seguenti coppie di caratteri: [ ], { }, ( ) o < >.
  10. Righe duplicate
    1. Nel primo esempio della diapositiva vengono visualizzati tutti i numeri di dipartimento dalla tabella EMPLOYEES. Notare che i numeri di dipartimento vengono ripetuti.
    2. N.B.
      1. Se non diversamente specificato, in iSQL*Plus i risultati di una query vengono visualizzati senza eliminare righe duplicate
      2. Per eliminare le righe duplicate nel risultato, includere la parola chiave DISTINCT nella clausola SELECT immediatamente dopo la parola chiave SELECT.
      3. È possibile specificare più colonne dopo il qualificatore DISTINCT. Il qualificatore DISTINCT ha effetto su tutte le colonne selezionate e il risultato è costituito da ogni diversa combinazione delle colonne.
  11. Visualizzare struttura tabella
    1. Nella sintassi 'nome_tabella' è il nome di una tabella, una vista o un sinonimo esistente accessibile all'utente.
    2. N.B.
      1. Il comando visualizza i nomi di colonna e i tipi di dati e indica se una colonna deve contenere dati (ovvero, se per la colonna è stato definito o meno un vincolo NOT NULL).
  12. Tipi di dato
  13. ESERCIZI
  14. =
  15. =