SQL come Calcolo relazionale e Datalog è un linguaggio dichiarativo, quindi noi diciamo quali sono le caratteristiche del risultato
SQL è suddivisa in vari linguaggi, noi ne vedremo due:
Una query è formata nella sua forma più semplice da 3 clausole
Nella clausola select ci deve essere almeno un attributo, per indicare tutti gli attributi si usa un asterisco. La select è il corrispettivo della proiezione in algebra relazionale. La clasuola select è anche chiamata target list.
Nella from ci deve essere almeno una tabella.
Nella where ci può essere o non essere una condizione.
La query SQL viene eseguita in questo ordine
$$ FROM\rightarrow WHERE\rightarrow SELECT $$
Nella clausola from possiamo avere o una lista di tabella o dei join impliciti. Se mettiamo solo delle tabelle senza condizione verrà fatto il prodotto cartesiano tra di esse.
Nella clausola where ci possono essere condizioni di diverso tipo. Ci possono essere le condizioni di Join oppure condizioni che specificano quali tuple tenere.
Nella clausola select specifichiamo quali tuple inserire nel risultato.

<aside> 💡 Trovare tutte le informazioni sui professori di Milano
</aside>
Select * //indica che verranno prese tutti gli attributi
From Insegnante
Where Città='Milano'