怎样用SQL查询一个表的所有字段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样用SQL查询一个表的所有字段相关的知识,希望对你有一定的参考价值。

请问一下,我用SQL查询一个表的所有字段(除ID字段外),我该怎么写这个SQL呢Select * not id from T?

可以用一句sql语句查询解决,如要查test表中的所有字段及类型

Select  b.name as TableName,C.name AS TYPE from syscolumns a,sysobjects b,systypes c 
where a.id = b.id
and b.type = \'U\' 
and a.xtype=c.xtype
and b.name=\'TEST\';

结果截图:

参考技术A --写好了,你把“除外的字段”还有“表名”都填写好。declare @name varchar(100)
declare @sql varchar(1000)

SET @sql='select '
DECLARE C11 CURSOR FOR

select name from syscolumns where id=
(select max(id) from sysobjects where xtype='u' and name='表名')
and name <> '除外的字段'
OPEN C11

FETCH NEXT FROM C11 INTO
@name
IF @@FETCH_STATUS <> 0
BEGIN
DEALLOCATE C11
RETURN
END
WHILE(@@FETCH_STATUS = 0)
BEGIN
SET @sql=@sql+@name+','

FETCH NEXT FROM C11 INTO
@name
END
DEALLOCATE C11

set @sql=substring(@sql,1,len(@sql)-1)+' from 表名'

exec (@sql)
参考技术B 在表上右击> 编写表脚本为>select到>新查询编辑器窗口
会自动生成脚本,你把SELECT
中的
ID删除,就是除ID后的语句了的.
参考技术C 字段名很多,我不想一个个列名,就不要ID只想从一个表中查出数据,再歃入另一个表中就不要那个ID字段而已 参考技术D 把列都敲上去,这也想偷懒,一般都不用*

在SQL中怎样查询一个表的第20条数据到30条数据

1、创建测试表,

create table test_order(id number , value varchar2(20));

2、插入测试数据

insert into test_order select 100+level as id, 'value_'||level from dual connect by level<=100;

commit;

3、查询表中全量数据,select t.* from test_order t;

4、编写sql,根据ID进行排序,查询第20条数据到30条数据;

   select * from (select t.*, row_number() over(order by id) rn from test_order t ) 

    where rn >= 20 and rn <= 30;

参考技术A

SqlServer查询操作步骤:

①先根据ID升序 查询前30条记录信息,再将查询的结果根据ID降序 查询前20条记录。

select * 
from (select top 20 * from (select top 30 * from 表名 order by ID) t1 order by ID desc) t2 
order by ID

②先将查询出前10条记录信息,然后将这10条信息从结果集中剔除掉。

select top 10 * from 表名 where id not in (select top 10 id from 表名 order by id asc) order by ID

③先查询出前10条记录最大的ID,然后再查询出>ID的前10条记录信息。

select top10 *
from 表名
where ID>(select max(ID) from (select top10 ID from 表名 order by ID) t1)
order by ID

④SqlServer2005后可以根据ROW_NUMBER查询。

select   *   from    
(select   *,   ROW_NUMBER()   OVER   (order   by   ID)   AS   ROWNUM   from   表) t 
where   ROWNUM   between   21   and   30

参考技术B

您好:

SQL Server中可以使用以下语句:

SELECT TOP 10 列名
  FROM 表名
 WHERE 主键 NOT IN (SELECT TOP 20 主键 FROM 表名 WHERE 条件 ORDER BY 排序)
   AND 条件
 ORDER BY 排序

以上是关于怎样用SQL查询一个表的所有字段的主要内容,如果未能解决你的问题,请参考以下文章

SQL:查询一个表的字段在另一个表里是不是存在;怎么写最优化;

用sql语句怎么查一个表的信息

oracle中怎么用sql查表以及表的字段名

oracle 怎样查询某用户下的所有表的表名?

用sql语句怎么查一个表的信息

怎样用SQL语句查询一个数据库中的所有表?