I have one `sql script` in that `one table` is used with `two alias` and make a `JOIN` on it 
but I need to understand why and when it is needed to do so
please elaborate ?

```
SELECT

             ISNULL(MarketValue,0)   
        FROM
            (                  
            SELECT TOP 5

                Delta,
                MarketValue     
            FROM
                (
                SELECT DISTINCT

                   FormatNumber(SUM([CURRENT].MarkToMarket), 0, ',', 0) AS Delta,
                    AVG([CURRENT].Mark) * SUM([CURRENT].Position) AS NumericPosition,
                    FormatNumber(AVG([CURRENT].Mark) * SUM([CURRENT].Position)* CASE WHEN [CURRENT].SecurityType IN ('Equity','Equity Option') THEN 100 ELSE 1 END, 0, ',', NULL)  AS MarketValue
                FROM
                    NAV [CURRENT]
                    LEFT JOIN
                    NAV Compare ON
                    [CURRENT].PurchaseLotId = Compare.PurchaseLotId AND
                    Compare.Date = '2012-06-06'
                WHERE

                    [CURRENT].SecurityType not in ('Equity')
                GROUP BY

                ORDER BY
                    NumericDelta DESC
            ) Movers
        FOR XML PATH ('TR'), TYPE
        ) AS VARCHAR(MAX)
    )

Why it is used like  FROM
                    NAV [CURRENT]
                    LEFT JOIN
                    NAV Compare ON
                    [CURRENT].PurchaseLotId = Compare.PurchaseLotId AND
                    Compare.Date = '2012-06-06'

```

> 
> NAV is only one table then what is the purpose to do take two alias of same table NAV [CURRENT] and NAV Compare and use LEFT JOIN?
> 
> 
> 

please elaborate me.