It's a little complex, but not too bad.
But...this has a strong smell of homework about it, if only becuase no-one ould want to do that for real, as teh month name would be in the culture of the SQL Server PC, not the displaying PC. As a result, I won't give you the code!
But here are some hints:
1) You can declare variables in SQL Server:
DECLARE @M int
For example, declares an integer, called "@M"
2) You can use similar syntax to declare a temporary table to hold your data:
DECLARE @TAB TABLE ([Month No] INT, [Month Name] VARCHAR(20))
3) You can run a loop in SQL with WHILE:
WHILE (@M <=12)
BEGIN
...
END
4) There is a DATENAME function which returns the name of a month
DATENAME(Month, CAST('2013-04-01' AS DATE))
Will return April
5) You can return data directly from a temporary table:
SELECT * FROM @TAB
So, you up for it?