L'algebra relazionale fornisce gli strumenti teorici per interrogare le tabelle di un database. La selezione opera in orizzontale: filtra le righe, cioè le tuple, mantenendo solo i record che rispettano una condizione. Si indica con . In SQL corrisponde alla clausola WHERE, per esempio SELECT FROM studenti WHERE eta >= 18;. La proiezione* opera in verticale: filtra gli attributi, mantenendo solo i campi di interesse, e si indica con . In SQL si realizza elencando i campi dopo SELECT, come SELECT nome, cognome FROM studenti;. Le due operazioni si combinano spesso: per ottenere nome e cognome dei soli maggiorenni si scrive , equivalente a SELECT nome, cognome FROM studenti WHERE eta >= 18;.
Congiunzione (Join)
La congiunzione unisce due tabelle usando un campo comune. Si indica con : il database confronta le righe, individua la colonna ponte e conserva le combinazioni in cui il valore è identico. In SQL: SELECT Studenti.nome, Classi.sezione FROM Studenti JOIN Classi ON Studenti.id_classe = Classi.id;.
- Inner Join: mantiene solo le righe che combaciano in entrambe le tabelle.
- Left Join: mantiene tutte le righe della prima tabella, quella a sinistra.
- Right Join: mantiene tutte le righe della seconda tabella, quella a destra.