A sub- consulta é um tipo de instrução SQL que executa uma consulta em uma consulta. Por exemplo, você executa uma sub- consulta para recuperar dados de uma tabela , em seguida, a consulta principal recupera um resultado final definido a partir do sub- consulta. Sub- consultas são usados em consultas complexas em que o administrador de banco de dados quer consultar a partir de várias tabelas e não pode usar o padrão JOIN . Sub -Query Arquitetura
A sub- consulta é contida dentro de sua consulta principal. Normalmente , o administrador de banco de dados usa a instrução JOIN para juntar-se uma outra tabela para a sua mesa principal. Se isso não for possível, a sub- consulta é usado para recuperar uma lista de registros . A sub- consulta é sempre executado em primeiro lugar, ea consulta principal filtra fora da sub- consulta. Você também pode ter sub-consultas dentro de uma sub- consulta. A consulta mais interna é sempre executada em primeiro lugar.
Criando uma sub-consulta
A sub- consulta é normalmente uma consulta "select" . Quando você cria seu programa de banco de dados, você primeiro definir as regras de negócio sub- consulta. Por exemplo , use a seguinte instrução SQL para retornar uma lista de contas em uma tabela de usuário: SELECT * FROM usernameThe "*" caráter retorna todos os campos da tabela , então você pode usar a consulta principal para exibir e filtrar os dados que você precisa ver ou processo. Você também pode filtrar os registros no sub- consulta. Por exemplo , use a seguinte consulta para obter apenas as contas de usuário , onde o nome de usuário tem um nome de "Jane" : select * from nome de usuário onde name = 'Jane'
Adicione o principal consulta
Com a sub- consulta definida , você pode configurar a consulta principal. Quando você usa uma consulta como uma sub- consulta, você conter o sub- consulta entre parênteses. Por exemplo, usando a consulta nome da conta, a sub- consulta é semelhante ao seguinte : (selecione * de nome de usuário , onde name = 'Jane' ) Para adicionar a consulta para uma consulta principal , use o seguinte : insert into pessoas ( select * from nome de usuário , onde name = 'Jane' ) vias Este extrato da conta nomes da tabela de nome de usuário e os insere na tabela " pessoas " .
a declaração em
a declaração "IN" usa uma sub- consulta para obter uma lista de registros que estão "em" outra tabela. Por exemplo, se você quiser ver uma lista de pessoas com uma identificação de " 1" localizado em uma tabela separada de nomes de usuários , use a seguinte declaração: SELECT * FROM contas onde ID é (selecione ID do usuário , onde ID = 1) esta declaração recebe todas as contas que têm um nome de usuário com um ID de 1. Estas consultas complexas são usadas quando você tem várias tabelas com dados vinculados , similares.