? Uma subconsulta é uma consulta dentro de outra consulta. Uma subconsulta também pode conter outra subconsulta. Estes são referidos como sendo subconsultas "aninhados" . Uma união é quando duas ou mais tabelas são referenciados no "From" cláusula da consulta . Bancos de dados diferentes podem otimizar subqueries e junta-se de forma diferente. Por exemplo, otimizador do DB2 irá transformar uma subconsulta para uma junção se forem cumpridos determinados critérios. Em alguns casos, uma junção rendimento melhor desempenho do que uma subconsulta. O que faz uma subconsulta
Uma subconsulta é uma instrução "SELECT" dentro do "onde" ou "ter" cláusula de um exterior " INSERT, " "UPDATE ", "Merge" ou "DELETE" declaração . A subconsulta também é chamado de " consulta interna " ou " select interior". A subconsulta pode ter um "DE" cláusula com uma ou mais tabelas e pode, opcionalmente, ter um " onde", " GROUP BY " ou "ter" cláusula. É sempre entre parênteses .
Vantagens e Desvantagens de subconsultas
Subqueries são vantajosos porque estruturar a consulta para isolar cada parte da declaração , realizar a mesma operação que normalmente requerem junções complexas e sindicatos e são mais fáceis de ler. Subqueries mesmo foram a base para o nome de " Structured Query Language " (SQL) por causa de sua estrutura de fácil leitura . A desvantagem é que você não pode modificar a tabela e selecione a partir da mesma tabela dentro de uma subconsulta na mesma instrução SQL. Subqueries também pode levar mais tempo para executar do que uma junção por causa de como o otimizador de banco de dados processa-los .
O que faz uma junção
maioria das subconsultas pode ser reescrita como junta , e junta-se mais pode ser reescrita como subconsultas. Uma união define duas ou mais mesas de uma coluna relacionada . Tabelas geralmente são unidos em chaves primárias e estrangeiras . Por exemplo, uma tabela funcionário pode ter uma chave primária de uma coluna de identificação do empregado , enquanto uma tabela de horários também tem uma coluna de identificação do empregado que é uma chave estrangeira para a tabela de funcionários . O SQL juntar pode ser escrito como "ONDE employee.empid = timesheet.empid " ou "FROM empregado Cadastre- timesheet ON ( employee.empid = timesheet.empid )."
Vantagens e Desvantagens da junta
A principal vantagem de uma junção é que ele executa mais rápido. O aumento de desempenho pode não ser perceptível pelo usuário final . No entanto, porque as colunas são especificamente nomeado e indexado e otimizado pelo motor de banco de dados, o tempo de recuperação será quase sempre mais rápido do que o de uma subconsulta. Há também associações internas e externas , para a esquerda e para a direita se junta , cheia junta e une cruz . Uma desvantagem do uso de junta é que eles não são tão fáceis de ler como subconsultas . Outra desvantagem é que ele pode ser confuso a respeito de que participar é o tipo apropriado de se juntar a usar para produzir o conjunto de resultados desejado correta.