? Una sottoquery è una query all'interno di un'altra query . Una subquery può contenere anche un'altra subquery . Questi sono detto di essere sottoquery " nidificate " . Un join è quando due o più tabelle si fa riferimento nella clausola "Da" della query . Motori di database diversi possono ottimizzare le sottoquery e si unisce in modo diverso . Ad esempio , ottimizzatore di DB2 trasformerà una sottoquery per un join se sono soddisfatti determinati criteri . In alcuni casi , un join rendimenti rendimento migliore di una sottoquery . Che cosa rende una sottoquery
Una sottoquery è un'istruzione "SELECT " entro il "dove " o clausola di "avere" di un esterno "INSERT ", "UPDATE ", " merge" o dichiarazione "CANCELLA " . La subquery viene anche chiamata la " ricerca interiore " o "select interiore . " La subquery può avere una clausola di " FROM" con una o più tabelle e può eventualmente avere un " DOVE ", " GROUP BY " o " clausola di avere" . Si è sempre racchiuso tra parentesi.
Vantaggi e svantaggi di sottoquery
subquery sono vantaggiose perché strutturare la query per isolare ogni parte della dichiarazione , eseguire la stessa operazione che normalmente richiederebbe complesse join e sindacati e sono più facili da leggere. Sottointerrogazioni anche stati la base per il nome di " Structured Query Language " ( SQL ) a causa della loro struttura facilmente leggibile. Uno svantaggio è che non è possibile modificare una tabella e selezionare dalla stessa tabella all'interno di una sottoquery nella stessa istruzione SQL . Le subquery possono anche richiedere più tempo per l'esecuzione di un join a causa di come li elabora l'utilità di ottimizzazione del database .
Cosa rende un join
La maggior parte subquery può essere riscritta come si unisce , e la maggior parte si unisce può essere riscritta come subquery . Un join definisce due o più tabelle da una colonna relativa . Le tabelle di solito sono uniti su chiavi primarie ed esterne . Ad esempio , una tabella dipendente potrebbe avere una chiave primaria di una colonna ID dipendente , mentre un tavolo di scheda attività ha anche una colonna id dipendente che è una chiave esterna per la tabella dei dipendenti . Il SQL join può essere scritto come "WHERE employee.empid = timesheet.empid " o "FROM dipendente ENTRA timesheet ON ( employee.empid = timesheet.empid ) ".
Vantaggi e svantaggi di join
Il vantaggio principale di un join è che viene eseguita più rapidamente . L'incremento di prestazioni forse non si nota dall'utente finale . Tuttavia, poiché le colonne sono nominativamente citati e indicizzati e ottimizzati per il motore di database , il tempo di recupero quasi sempre sarà più veloce di quella di una sottoquery . Ci sono anche interno ed esterno si unisce , a destra ea sinistra si unisce , pieno unisce e cross join. Uno svantaggio utilizzando join è che non sono così facili da leggere come sottoquery . Un altro svantaggio è che può essere fonte di confusione su quale join è il tipo appropriato di join da utilizzare per produrre il corretto set di risultati desiderato .