IT猫扑网:您身边最放心的安全下载站! 最新更新| 软件分类| 专题汇总| 手机版

您当前所在位置:IT猫扑网 > 数据库 > MSSQL > 分享一些不错的sql语句

分享一些不错的sql语句

时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(0)

1、说明:复制表(只复制结构,源表名:a   新表名:b)   (access可用)
法一:select   *   into   b   from   a   where   1 <> 1
法二:select   top   0   *   into   b   from   a

2、说明:拷贝表(拷贝数据,源表名:a   目标表名:b)   (Access可用)
insert   into   b(a,   b,   c)   select   d,e,f   from   b;

3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径)   (Access可用)
insert   into   b(a,   b,   c)   select   d,e,f   from   b   in   ‘具体数据库’   where   条件
例子:..from   b   in   ' &&Server.MapPath( &. &)& &data.mdb &   & & '   where..

4、说明:子查询(表名1:a   表名2:b)
select   a,b,c   from   a   where   a   IN   (select   d   from   b   )   或者:   select   a,b,c   from   a   where   a   IN   (1,2,3)

5、说明:显示文章、提交人和最后回复时间
select   a.title,a.username,b.adddate   from   table   a,(select   max(adddate)   adddate   from   table   where   table.title=a.title)   b

6、说明:外连接查询(表名1:a   表名2:b)
select   a.a,   a.b,   a.c,   b.c,   b.d,   b.f   from   a   LEFT   OUT   JOIN   b   ON   a.a   =   b.c

7、说明:在线视图查询(表名1:a   )
select   *   from   (SELECT   a,b,c   FROM   a)   T   where   t.a   >   1;

8、说明:between的用法,between限制查询数据范围时包括了边界值,not   between不包括
select   *   from   table1   where   time   between   time1   and   time2
select   a,b,c,   from   table1   where   a   not   between   数值1   and   数值2

9、说明:in   的使用方法
select   *   from   table1   where   a   [not]   in   (‘值1’,’值2’,’值4’,’值6’)

10、说明:两张关联表,删除主表中已经在副表中没有的信息  
delete   from   table1   where   not   exists   (   select   *   from   table2   where   table1.field1=table2.field1   )

11、说明:四表联查问题:
select   *   from   a   left   inner   join   b   on   a.a=b.b   right   inner   join   c   on   a.a=c.c   inner   join   d   on   a.a=d.d   where   .....

12、说明:日程安排提前五分钟提醒  
SQL:   select   *   from   日程安排   where   datediff( 'minute ',f开始时间,getdate())> 5

13、说明:一条sql   语句搞定数据库分页
select   top   10   b.*   from   (select   top   20   主键字段,排序字段   from   表名   order   by   排序字段   desc)   a,表名   b   where   b.主键字段   =   a.主键字段   order   by   a.排序字段

14、说明:前10条记录
select   top   10   *   form   table1   where   范围

15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)
select   a,b,c   from   tablename   ta   where   a=(select   max(a)   from   tablename   tb   where   tb.b=ta.b)

16、说明:包括所有在   TableA   中但不在   TableB和TableC   中的行并消除所有重复行而派生出一个结果表
(select   a   from   tableA   )   except   (select   a   from   tableB)   except   (select   a   from   tableC)

17、说明:随机取出10条数据
select   top   10   *   from   tablename   order   by   newid()

18、说明:随机选择记录
select   newid()

19、说明:删除重复记录
Delete   from   tablename   where   id   not   in   (select   max(id)   from   tablename   group   by   col1,col2,...)

20、说明:列出数据库里所有的表名
select   name   from   sysobjects   where   type= 'U '  

21、说明:列出表里的所有的
select   name   from   syscolumns   where   id=object_id( 'TableName ')

22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select   中的case。
select   type,sum(case   vender   when   'A '   then   pcs   else   0   end),sum(case   vender   when   'C '   then   pcs   else   0   end),sum(case   vender   when   'B '   then   pcs   else   0   end)   FROM   tablename   group   by   type
显示结果:
type   vender   pcs
电脑   A   1
电脑   A   1
光盘   B   2
光盘   A   2
手机   B   3
手机   C   3

23、说明:初始化表table1
TRUNCATE   TABLE   table1

24、说明:选择从10到15的记录
select   top   5   *   from   (select   top   15   *   from   table   order   by   id   asc)   table_别名   order   by   id   desc 

关键词标签:sql语句

相关阅读 sql server系统表损坏的解决方法 SQL Server asp.net 数据提供程序连接池 SqlServer2005对现有数据进行分区具体步骤 一个Access数据库数据传递的实例方法 为导入文件加上时间戳标记的两种方法 SQL Server 2005 在不允许远程连接的情况下的破解

文章评论
发表评论

热门文章 sql server系统表损坏的解决方法 sql server系统表损坏的解决方法 SqlServer2005对现有数据进行分区具体步骤 SqlServer2005对现有数据进行分区具体步骤 解决SQL Server中Group无法实现的问题 解决SQL Server中Group无法实现的问题 SQL Server 2005降级到2000的正确操作步骤 SQL Server 2005降级到2000的正确操作步骤 手把手教你学会SQL Server镜像操作 手把手教你学会SQL Server镜像操作 实战手记:让百万级数据瞬间导入SQL Server 实战手记:让百万级数据瞬间导入SQL Server

相关下载

人气排行 配置和注册ODBC数据源-odbc数据源配置教程 如何远程备份(还原)SQL2000数据库 SQL2000数据库远程导入(导出)数据 SQL2000和SQL2005数据库服务端口查看或修改 修改Sql Server唯一约束教程 SQL Server 2005降级到2000的正确操作步骤 sql server系统表损坏的解决方法 浅谈JSP JDBC来连接SQL Server 2005的方法 SQL Server创建表语句介绍 MS-SQL2005服务器登录名、角色、数据库用户、角色、架构的关系 如何使用SQL Server中的客户端配置工具 SQL Server 分布式查询:OLE DB连接(一)