sql >> Databasteknik >  >> RDS >> Sqlserver

Skillnad mellan Subquery och Correlated Subquery

Ovanstående exempel är inte samrelaterad underfråga. Det är härledd tabell/inlinevy eftersom det vill säga en underfråga inom FROM-klausulen.

En Corelated Sub-query bör referera till sin överordnade (huvudfråga) tabell i den. Till exempel Se hitta den N:te maxlönen efter samrelaterad underfråga:

SELECT Salary 
FROM Employee E1
WHERE N-1 = (SELECT COUNT(*)
             FROM Employee E2
             WHERE E1.salary <E2.Salary) 

Samrelaterade kontra kapslade underfrågor.

Tekniska skillnader mellan normal underfråga och samrelaterad underfråga är:

1. Looping: Samrelaterad underfrågaslinga under huvudfrågan; kapslade inte; därför körs samrelaterad underfråga vid varje iteration av huvudfrågan. I fallet med Nested-query; subquery exekveras först och den yttre frågan exekveras därefter. Därför är det maximala antalet. av exekveringar är NXM för korrelerad delfråga och N+M för delfråga.

2. Beroende(inre till yttre vs yttre till inre): I fallet med samrelaterad underfråga beror den inre frågan på den yttre frågan för bearbetning, medan den yttre frågan beror på den inre frågan i normal underfråga.

3. Prestanda: Användning av Co-related sub-query prestanda minskar, eftersom den utför NXM iterationer istället för N+M iterationer. ¨ Samrelaterad sub-query Execution.

För mer information med exempel:

http://dotnetauthorities.blogspot.in/2013/12/Microsoft-SQL-Server-Training-Online-Learning-Classes-Sql-Sub-Queries-Nested-Co-related.html



  1. Hur man framgångsrikt skriver om gammal mysql-php-kod med föråldrade mysql_*-funktioner?

  2. Återställ din WordPress-databas med WP-CLI

  3. SQL Server Express Backup Database | Så här schemalägger du automatisera och rensa SQL Express-säkerhetskopia

  4. Introduktion till IRI Voracity (Total Data Management) [video]