sql >> Database teknologi >  >> RDS >> Sqlserver

Forskellen mellem underforespørgsel og korreleret underforespørgsel

Ovenstående eksempel er ikke Co-relateret underforespørgsel. Det er afledt tabel / inline-visning, da det vil sige en underforespørgsel i FROM-klausulen.

En Corelated Sub-forespørgsel skal henvise til sin overordnede (hovedforespørgsel) tabel i den. For eksempel Se find den N. maks. løn efter medrelateret underforespørgsel:

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

Co-related vs Nested-SubQueries.

Tekniske forskelle mellem normal underforespørgsel og co-relateret underforespørgsel er:

1. Looping: Samrelateret underforespørgselsløkke under hovedforespørgsel; indlejrede ikke; derfor udføres co-relateret underforespørgsel på hver iteration af hovedforespørgslen. i tilfælde af Nested-forespørgsel; underforespørgsel udføres først, derefter udføres ydre forespørgsel derefter. Derfor er det maksimale antal. af eksekveringer er NXM for korreleret underforespørgsel og N+M for underforespørgsel.

2. Afhængighed(indre til ydre vs ydre til indre): I tilfælde af co-relateret underforespørgsel afhænger indre forespørgsel af ydre forespørgsel til behandling, mens den ydre forespørgsel i normal underforespørgsel afhænger af indre forespørgsel.

3. Ydeevne: Brug af Co-related sub-query ydeevne falder, da den udfører NXM iterationer i stedet for N+M iterationer. ¨ Co-relateret underforespørgsel udførelse.

For mere information med eksempler:

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



  1. SQL Server Genopbyg og Reorganiser Index

  2. Sådan skifter du database ved hjælp af PostgreSQL

  3. Virtualmin:Du har ikke adgang til denne MySQL-database efter at have skiftet adgangskode

  4. Hvad er forskellen mellem Integrated Security =True og Integrated Security =SSPI?