16. Il linguaggio SQL Vers. 11.0 – Gennaio 2026
( E) Le operazioni di unione, intersezione e differenza Per tradurre le operazioni dell’ algebra relazionale di unione, intersezione e differenza il linguaggio SQL utilizza tre operatori che si applicano ai risultati delle interrogazioni. Tali operatori sono:
• UNION( per l’ operazione relazionale di unione o ∪),
• INTERSECT( per l’ operazione relazionale di intersezione o ∩)
• MINUS( per l’ operazione relazionale di differenza o-)
( N. B. INTERSECT e MINUS non valide in MySql. Per poterle svolgere in modo equivalente, occorrerà utilizzare la tecnica delle sottointerrogazioni o sottoquery o SUBQUERY)
Esempio: Consideriamo le seguenti relazioni di un ipotetico db chiamato“ cinema” Regista( CodRegista, Cognome, Nome) Attore( CodAttore, Cognome, Nome) Per ottenere tutti i registi e tutti gli attori scriveremo
( SELECT Cognome, Nome FROM Regista) UNION( SELECT Cognome, Nome FROM Attore);
Per ottenere i registi che sono anche attori scriveremo
( SELECT Cognome, Nome FROM Regista) INTERSECT( SELECT Cognome, Nome FROM Attore);
Per ottenere i registi che NON sono attori scriveremo
( SELECT Cognome, Nome FROM Regista) MINUS( SELECT Cognome, Nome FROM Attore);
Naturalmente le due relazioni parziali delle SELECT dovranno OBBLIGATORIAMENTE risultare compatibili per poter essere utilizzate come operandi degli operatori di INTERSEZIONE, UNIONE e DIFFERENZA.
( F) Le operazioni di INNER JOIN, LEFT JOIN, RIGHT JOIN, OUTER JOIN
N. B. E’ possible utilizzare nella SELECT direttamente le clausole INNER JOIN, LEFT JOIN, RIGHT JOIN, OUTER JOIN e SELF JOIN( N. B. OUTER JOIN e SELF JOIN non valide in MySql)
N. B. Vedi esempio di dettaglio a partire da pagina 17
Vedi paragrafo sottointerrogazioni o sottoquery o SUBQUERY a partire da pagina 47
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 18