Subconsclados MySQL

Subconsclados MySQL
Uma subconsulta é uma consulta SQL dentro de uma consulta maior que é recursiva ou uma subconsulta é considerada uma consulta interna. Por outro lado, uma consulta externa é denominada como a consulta que inclui a subconsulta. Uma subconsência MySQL pode ser incorporada nas consultas, incluindo selecionar, inserir, atualizar ou excluir. Além disso, dentro de outra subconsência, uma subconsulta pode estar aninhada. A subconeração da frase deve ser fechada entre colchetes onde quer que seja usado. Vamos te ensinar como e quando usar a subconsulta do MySQL para compor consultas complicadas e descrever a idéia da subconsência associada. Abra o shell da linha de comando da sua área de trabalho e escreva sua senha para começar a usá-la. Pressione Enter e continue.

Subconstração dentro de registros de tabela única:

Crie uma tabela chamada 'Animals' nos dados do banco de dados '.'Adicione o registro a seguir de diferentes animais com propriedades diferentes, conforme exibido. Pegue este registro usando a consulta Select da seguinte forma:

>> Selecione * FROM dados.animais;

Exemplo 01:

Vamos recuperar os registros limitados desta tabela usando as subconsminações. Usando a consulta abaixo, sabemos que a subconsência será executada primeiro e sua saída será usada na consulta principal como entrada. Uma subconsulta está simplesmente buscando a idade em que o preço do animal é 2500. A idade de um animal cujo preço é 2500 é 4 na tabela. A consulta principal selecionará todos os registros da tabela em que a idade é maior que 4, e a saída é dada abaixo.

>> Selecione * FROM dados.Animais onde idade> (selecione a idade dos dados.animais onde preço = "2500");

Exemplo 02:

Vamos usar a mesma tabela em diferentes situações. Neste exemplo, usaremos alguma função em vez de onde cláusula na subconsulta. Temos tomado a média de todos os preços dados para os animais. O preço médio será 3189. A consulta principal selecionará todos os registros de animais com um preço de mais de 3189. Você vai obter a saída abaixo.

>> Selecione * FROM dados.Animais onde preço> (selecione AVG (preço) dos dados.animais);

Exemplo 03:

Vamos usar a cláusula in na consulta principal de seleção. Primeiro de tudo, a subconsulta atingirá preços maiores que 2500. Depois disso, a consulta principal selecionará todos os registros da tabela 'Animais', onde o preço está no resultado da subconeração.

>> Selecione * FROM dados.Animais onde o preço (selecione o preço dos dados.animais onde preço> 2500);

Exemplo 04:

Usamos a subconsulta para buscar o nome do animal onde o preço é 7000. Como esse animal é uma vaca, é por isso que o nome 'vaca' será devolvido à consulta principal. Na consulta principal, todos os registros serão recuperados da tabela onde o nome do animal é 'vaca.'Como temos apenas dois registros para animais' vaca ', é por isso que temos a saída abaixo.

>> Selecione * FROM dados.Animais onde nome = (selecione o nome dos dados.animais onde preço = "7000");

Subconstração em vários registros de tabela:

Assuma as duas tabelas abaixo, 'estudante' e 'professor' em seu banco de dados. Vamos tentar alguns exemplos de subconsminação usando essas duas tabelas.

>> Selecione * FROM dados.estudante;
>> Selecione * FROM dados.professor;

Exemplo 01:

Vamos buscar dados de uma tabela usando a subconsulta e usá -los como uma entrada para a consulta principal. Isso significa que essas duas tabelas podem se relacionar de alguma maneira. No exemplo abaixo, usamos a subconsulta para buscar o nome do aluno da tabela 'aluno' onde o nome do professor é 'Samina.'Esta consulta retornará' Samina 'ao professor principal da mesa de consulta'.'A consulta principal selecionará todos os registros relacionados ao nome do professor' Samina.'Como temos dois registros para esse nome, portanto, temos este resultado.

>> Selecione * FROM dados.Professor Where TeachName = (selecione TeachName de dados.aluno onde Teachname = 'Samina');

Exemplo 02:

Para elaborar a subconsulta no caso de diferentes tabelas, tente este exemplo. Temos uma subconsulta que está buscando o nome do professor do aluno da tabela. O nome deve ter 'eu' em qualquer posição em seu valor. Isso significa que todos os nomes da coluna Teachname tendo 'i' em seu valor serão selecionados e devolvidos à consulta principal. A consulta principal selecionará todos os registros da tabela 'Professor', onde o nome do professor está na saída retornada pela subconsulta. Enquanto a subconsulta retornou 4 nomes de professores, é por isso que teremos um registro de todos esses nomes que residem na tabela 'Professor.'

>> Selecione * FROM dados.Professor onde o TeachName In (selecione Teachname FROM DATOS.aluno onde o ensino como '%i%');

Exemplo 03:

Considere as duas tabelas abaixo, 'Order' e 'Order1'.

>> Selecione * FROM dados.ordem;
>> Selecione * FROM dados.ordem1;

Vamos tentar uma cláusula de qualquer exemplo neste exemplo para elaborar a subconsência. A subconsulta selecionará o 'ID' da tabela 'Order1', onde a coluna 'Status' tem um valor de 'não remunerado.'O' id 'pode ser superior a 1. Isso significa que mais de 1 valor seria devolvido à consulta principal para obter os resultados da tabela 'Ordem'. Nesse caso, qualquer 'id' pode ser usado. Temos a saída abaixo para esta consulta.

>> Selecione Item, Vendas, ID de Dados.Encomende onde id = qualquer (selecione ID de dados.ordem1 onde status = 'não pago');

Exemplo 04:

Suponha que você tenha os dados abaixo na tabela 'Order1' antes de aplicar qualquer consulta.

>> Selecione * FROM dados.ordem1;

Vamos aplicar a consulta dentro de uma consulta para excluir alguns registros da tabela 'Order1'. Em primeiro lugar, a subconsulta selecionará o valor 'status' da tabela 'Ordem' onde o item é 'livro.'The Subncer Returns' paga 'como valor. Agora a consulta principal excluirá as linhas da tabela 'Order1', onde o valor da coluna 'status' é 'pago.'

>> Exclua dos dados.Ordem1 onde status = (selecione Status dos dados.encomendar onde item = 'livro');

Ao verificar, agora os registros abaixo permaneceram na tabela 'Order1' após a execução da consulta.

>> Selecione * FROM dados.ordem1;

Conclusão:

Você trabalhou com eficiência com muitas subconsminadas em todos os exemplos acima. Esperamos que tudo esteja claro e limpo agora.