Este artigo explica sobre a não-correlacionados e subconsulta correlacionada no SQL Server (Transact-SQL) com um exemplo.
Subquery correlacionado
uma subquery correlacionada é a subquery que o valor depende da consulta externa. O subquery correlacionado é executado repetidamente, uma vez por cada linha que é selecionada pelo subquery.
In correlated subquery the subquery will be executing once and the will substitute the resulting value into WHERE clause of the outer query.
Nota: Você não pode executar subquery correlacionado independentemente da consulta externa.
vamos criar duas tabelas para entender subquery correlacionado no servidor SQL (T-SQL).quadro dos produtos:
1
2
3
4
5
6
7
8
9
10
11
|
Criar tabela ProductsTable
(
ID int Primary Key,
Nome do tipo de dados nvarchar(50),
Preço int,
Detalhes nvarchar(150)
)
Insert into ProductsTable values (1, ‘Laptop’, 30000, “Um laptop para usuários domésticos’)
Insert into ProductsTable Values (2, ‘Máquina de Lavar roupa’, 20000, ‘da cor Branca de carga frontal da máquina ‘)
Insert into ProductsTable Values (3, ‘TELEVISÃO’, 22000, ’32 polegadas LED HD TV)
Insert into ProductsTable Values (4, ‘Geladeira’, 30000, ‘190 Ltr dupla porta de geladeira’)
|
o Recorde de Vendas Tabela de:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
Criar tabela SaleRecordTable
(
Id int Primary Key Identidade,
ProductID int,
SoldQuantity int,
SaleDate Date
)
Insert into SaleRecordTable Values (2, 3, ’10-10-2016′)
Insert into SaleRecordTable Values (3, 5, ’10-10-2016′)
Insert into SaleRecordTable Values (2, 2, ’11-10-2016′)
Insert into SaleRecordTable Values (4, 6, ’11-10-2016′)
Insert into SaleRecordTable Values (2, 6, ’12-10-2016′)
Insert into SaleRecordTable Values (4, 6, ’13-10-2016′)
|
The query will retrieve total product sold from sales record table. No subquery, os dados totais do produto vendido são recuperados para cada id do produto de tabela de produtos.
1
2
3
4
|
–correlated subquery
Select Name,
(Select SUM(SoldQuantity) from SaleRecordTable where ProductId = ProductsTable.ID) ‘Quantidade Total Vendida’
a partir de ProductsTable
|
Resultado:
Se você executar a subconsulta de forma independente, em seguida, você receberá o seguinte erro.
Não Subconsulta correlacionada
não subconsulta correlacionada é uma subconsulta que é independente do exterior consultas. Você pode executar subquery não correlacionado independentemente da consulta externa.
1
2
3
4
|
–Non correlated query
Select ID, Name, Details
From ProductsTable
Where ID = (Select ProductID from SaleRecordTable Where SaleDate =’10-10-2016′ AND ProductID =2)
|
Saída:
A saída será:
Espero que este artigo o tenha ajudado a entender correlacionados e não-subconsulta correlacionada no SQL Server. Por favor, publique seus comentários para consultas e comentários. Obrigado por leres.
- Bio
- Latest Posts
Postagens mais recentes por Gyanendu Shekhar (ver todas)
- a Utilização de Material Transparente em Unity 3D – 8 de fevereiro de 2021
- primeiros passos com o kit de ferramentas de INTERFACE do usuário : Unity 3D Tutorial – 30 de dezembro de 2020
- o Uso de Eventos na Unity 3D – 2 de Maio de 2020