WHILE~循环~
END~结束~
---------------------------------------------------以下试试~ 不对米我~-------------------------------------------
DECLARE @i int, @s int, @a int
SELECT @i=1, @s=0. @a=0
WHILE @i<=10
BEGIN
SET @s = @s + @a
SET @a = @i *(@i+1)
END
SELECT @s
SELECT TOP 3 * FROM UTABLE WHERE UID='123' ORDER BY NEWID()UNION ALL
SELECT TOP 7 * FROM UTABLE WHERE UID<>'123' ORDER BY NEWID()
说明:newid()是一个随机函数,所以这样就可以查到随机10条记录了
union all 是不消除重复记录进行连接
1、sql查询前10条数据:
select top 10 * from tablename where 1=1;1
2、oracle查询前10条数据:
select * from tablename where rownum<=101
oeacle中没有top,使用的是rownum,下面是关于rownum的介绍:
================================
rownum是Oracle从8开始提供的一个伪列,是把SQL出来的结果进行编号,始终从1开始,常见的用途就是用来分页输出.
select * from tablename where rownum<=101
rownum也可以实现数据分页查询:
SELECT *
FROM (SELECT a.*, ROWNUM rn
FROM tablename a)
WHERE rn >= 10 AND rn <= 201234567
这条语句即是输出第10到第20条纪录,这里之所以用rownum rn,是把rownum转成实例,因为rownum本身只能用 <=的比较方式,只有转成实列,这样就可做 >=的比较了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)