Linguaggio set-oriented

SQL è un linguaggio set-oriented:

Formato base di un'interrogazione

Il formato di base di un'interrogazione (query) in SQL è:

$$ \text{SELECT [DISTINCT] } \{R_{i1}.C_1, R_{i2}.C_2,..., R_{in}.C_n \ \ | \ \ *\} \\ \text{FROM } R_1, R_2, ..., R_k \\ \text{[WHERE F]}; $$

Ordine di valutazione dell'interrogazione

Per valutare un'interrogazione, il DBMS:

  1. Inizia dalla clausola FROM
  2. applica la clausola di qualificazione (se presente) per selezionare le tuple da includere nel risultato
  3. applica la clausola di proiezione per ottenere solo le colonne richieste

Ordine dei dati nel risultato

L'ordine delle tuple nella relazione risultato può variare in base a come il DBMS esegue fisicamente la query.

L'ordine delle colonne, invece, è determinato: