将 WHILE 循环查询转换为 FOR 循环查询

To convert the WHILE loop query into FOR loop query

这是 table 在 SQL 服务器

中创建并插入的值
create table Country (
id int, countryname varchar(25)
)
insert into country (id, countryname) 
values (1,'India'), (2,'Austria'), (3,'Sri Lanka'), (4,'Mongolia'), (5,'Russia')

并使用 WHILE 循环,我在 SQL 服务器中实现了以下查询。

declare @id int, @countryname varchar(30), @maxid int
select @id=min(id), @maxid=max(id)
from country
while(@id is not null and @id<=@maxid)
begin
select @countryname=`countryname`    
from Country where id=@id
print convert`(varchar,@id)`+'. country name is '+ @countryname
set @id=@id+1
end

现在我想要使用 FOR 循环得到与上面相同的结果,我知道在 SQL 服务器中 FOR 循环没有被使用,但是使用 WHILE 循环我们可以在 SQL 中模拟 FOR 循环服务器。

谁能帮我解决这个问题?

使用查询,而不是循环 print:

在 SQL 中,我们总是尝试一次处理集合,而不是使用 while 循环或游标。

select
    concat(convert(varchar(12), @id), '. country name is ', countryname)
from Country
order by id