十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
1、使用top
成都创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的漯河网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
例,检索表a第3行记录
select
*
from
a
where
id
in(select
top
3
id
from
a)
and
id
not
in(select
top
2
id
from
a)
即:取top
3,前3条记录,再去除ID等于前2条记录的id
top写法对单一主键的表格,比较方便,多主键表就不太方便,且语句可读性较差。
2、使用带自增ID的临时表
例,检索表a第3行记录
select
IDENTITY(int,1,1)
as
'rowid',*
into
#temptab
from
a
#temptab
效果如图:
检索记录,就很方便了,select
*
from
#temptab
where
rowid
=
3即第3条记录。代码的可读性要好很多,应用也更灵活。
送你了,不谢
declare @cloumns varchar(40)
declare @tablename varchar(40)
declare @str varchar(40)
declare @counts int
declare @sql nvarchar(2000)
declare MyCursor Cursor For
Select a.name as Columns, b.name as TableName from syscolumns a,sysobjects b,systypes c
where a.id = b.id
and b.type = 'U'
and a.xtype=c.xtype
and c.name like '%char%'
set @str='张三' --这个张三的地方输入要查找的字符串
Open MyCursor
Fetch next From MyCursor Into @cloumns,@tablename
While(@@Fetch_Status = 0)
Begin
set @sql='select @tmp_counts=count(*) from ' +@tablename+ ' where ' +@cloumns+' = ''' +@str+ ''''
execute sp_executesql @sql,N'@tmp_counts int out',@counts out
if @counts0
begin
print '表名为:'+@tablename+',字段名为'+@cloumns
end
Fetch next From MyCursor Into @cloumns,@tablename
End
Close MyCursor
Deallocate MyCursor
如本题,是查找库中,包含“张三”的数据的表。
结果如图:
然后你就能找到数据了
select * from users where uname='张三'
select top 1 * from 表名
top 1 就是只取第一条
top 10 就是只取前十条
Sybase公司的数据库产品有 大型数据库:Sybase sqlserver 中型数据库:Sybase adaptive server 小型数据库:Sybase sql anywhere
比若说你要插入到class表,有自增主键,可以这么写,insert into class(列..) values(...); select @@identity;(最后这句就是取出刚刚产生的自增主键。)
SELECT * FROM 表名 WHERE 条件句 ORDER BY 排序字段 LIMIT 1 或者
SELECT * FROM 表名 WHERE 条件句 ORDER BY 排序字段 LIMIT 0,1
注意,LIMIT 要放在末尾。