Are virtual tables and table variables the same in SQL Server? What is a virtual table? Why we need virtual tables, and how do you create one?
No, They aren't same.
No
Go through this answer for clear understanding.
https://dba.stackexchange.com/questions/16385/whats-the-difference-between-a-temp-table-and-table-variable-in-sql-server