麻烦高手帮我看一下这句SQL语句

来源:百度知道 编辑:UC知道 时间:2024/06/18 01:24:51
select * from (select top 5000 * from where WM_ClassAD) WM_Title like '%出租%'
我的数据库里有超过十万条的数据,我想搜索前5000条,所有在标题里含有"出租"这两个字的数据,数据库为mssql!

上面这句执行的时候提示:
消息 156,级别 15,状态 1,第 1 行
在关键字 'where' 附近有语法错误。
select * from (select top 5000 * from WM_ClassAD) where WM_Title like '%出租%'
这样也是不行的!
你给的这句
select top 5000 * from WM_ClassAD where WM_Title like '%出租%'
执行以后是搜索整个数据库,返回的是5000行的含有出租两个字的数据,而我只想它搜索前五千行而已啦!

抱歉,上面两位的回答都不行!

select * from (select top 5000 * from WM_ClassAD) a where WM_Title like '%出租%'

mssql中
from后用select子查询,一定要写别名
oracle不用

select top 5000 * from 你表名字呢,写反了吧? where WM_ClassAD

这么写吧
select top 5000 * from WM_ClassAD where WM_Title like '%出租%'

select top 5000 * from 表名 where WM_Title like '%出租%';
--如果是无条件搜索前5000行数据:
select top 5000 * from 表名;

select * from (select top 5000 * from WM_ClassAD where WM_Title like '%出租%'
) as tt
相当于是使用了内层的限制条件,^_^