5° Anno TEORIA 4. Introduzione al linguaggio SQL | Page 18

16 . Il linguaggio SQL Vers . 9.3 – Marzo 2024
( 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