>> Elettronica Tecnologia >  >> Casa intelligente >> Vita intelligente

Quali sono i vantaggi e gli svantaggi di un join o di una subquery?

Una sottoquery è una query all'interno di un'altra query. Una sottoquery potrebbe anche contenere un'altra sottoquery. Si dice che siano subquery "nidificate". Un join è quando si fa riferimento a due o più tabelle nella clausola "Da" della query. Motori di database diversi possono ottimizzare le sottoquery e i join in modo diverso. Ad esempio, l'ottimizzatore di DB2 trasformerà una sottoquery in un join se vengono soddisfatti determinati criteri. In alcuni casi, un join offre prestazioni migliori rispetto a una sottoquery.

Cosa rende una sottoquery

Una sottoquery è un'istruzione "SELECT" all'interno della clausola "WHERE" o "HAVING" di un'istruzione esterna "INSERT", "UPDATE", "MERGE" o "DELETE". La sottoquery è anche chiamata "query interna" o "selezione interna". La sottoquery può avere una clausola "FROM" con una o più tabelle e facoltativamente può avere una clausola "WHERE", "GROUP BY" o "HAVING". È sempre racchiuso tra parentesi.

Vantaggi e svantaggi delle subquery

Le sottoquery sono vantaggiose perché strutturano la query per isolare ogni parte dell'istruzione, eseguire la stessa operazione che normalmente richiederebbe join e unioni complesse e sono più facili da leggere. Le sottoquery erano anche la base per il nome "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. Inoltre, l'esecuzione delle sottoquery può richiedere più tempo rispetto a un join a causa del modo in cui l'ottimizzatore del database le elabora.

Cosa rende un join

La maggior parte delle sottoquery può essere riscritta come join e la maggior parte dei join può essere riscritta come sottoquery. Un join definisce due o più tabelle in base a una colonna correlata. Le tabelle di solito sono unite su chiavi primarie ed esterne. Ad esempio, una tabella dipendente potrebbe avere una chiave primaria di una colonna ID dipendente, mentre una tabella del foglio presenze ha anche una colonna ID dipendente che è una chiave esterna per la tabella dipendente. Il join SQL può essere scritto come "WHERE employee.empid =timesheet.empid" o "FROM employee JOIN timesheet ON (employee.empid =timesheet.empid)."

Vantaggi e svantaggi dei join

Il vantaggio principale di un join è che viene eseguito più velocemente. L'aumento delle prestazioni potrebbe non essere percepibile dall'utente finale. Tuttavia, poiché le colonne sono specificamente denominate, indicizzate e ottimizzate dal motore di database, il tempo di recupero sarà quasi sempre più rapido di quello di una sottoquery. Esistono anche join interni ed esterni, join sinistro e destro, full join e cross join. Uno svantaggio dell'utilizzo dei join è che non sono facili da leggere come le sottoquery. Un altro svantaggio è che può creare confusione su quale join sia il tipo appropriato di join da utilizzare per produrre il set di risultati desiderato corretto.


  1. Quali sono i vantaggi e amp ; Svantaggi di un telefono cellulare
  2. Quali sono i vantaggi e amp ; Svantaggi di DVD -R
  3. Quali sono i vantaggi e gli svantaggi di un telefono cellulare?
  4. Quali sono i vantaggi e gli svantaggi dei DVD-R?
  5. Quali sono i vantaggi e gli svantaggi di un certificato digitale?
  6. Quali sono i vantaggi di una presentazione PowerPoint?