博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL Sever 学习系列之一
阅读量:7217 次
发布时间:2019-06-29

本文共 1986 字,大约阅读时间需要 6 分钟。

   

    本学习系列,从实际工作需要中积累,对于一个新手而言,写出几条漂亮的查询语句,应该是可以受启发的。

     一、问题的需求是:员工薪酬发放,现有资金能发放多少人,哪些人应得?

     /*所有的记录,从头开始累加,直到累加值大于一个给定值以后,返回之前计入累加的记录*/

     先建立相关职工薪酬表,添加测试数据:

create table Table_1(  id int identity not null primary key,  name char(10),  je decimal(8,2),  date datetime) insert  into Table_1 values('张三',200,GETDATE())insert  into Table_1 values('李四',100,GETDATE())insert  into Table_1 values('王五',270,GETDATE())insert  into Table_1 values('张小三',400,GETDATE())insert  into Table_1 values('李四往',180,GETDATE())insert  into Table_1 values('王小五',910,GETDATE()) select * from Table_1
View Code

    结果如下:

     注:列(je)为员工应得薪酬,先假定老板只有现金400元,看看能发多少人,哪些人可以领取?

     解决方案如下:

declare @i int,@sum1 decimal(8,2),@sum2 decimal(8,2)set @i=1set @sum2=400set @sum1=0while @i<(select max(id) from Table_1) begin  set @sum1=@sum1+(select je from Table_1 where id=@i)  if @sum2<@sum1   begin    break  end  set @i=@i+1 endselect * from Table_1 where id<@i
View Code

     结果如下:

    此方法比较简单,还可以用储存过程实现。(读者可以试试)

    二、sql server 2005中如何查询一个数据库中有多少张表?

    --查询当前数据库下所有用户建立的表

SELECT name,xtype,status,crdate,userstat,sysstat,refdate,versionFROM sysobjects WHERE  xtype = 'U'
View Code
其中:       xtype char(2) 对象类型。可以是下列对象类型中的一种:        C = CHECK 约束        D = 默认值或 DEFAULT 约束        F = FOREIGN KEY 约束        L = 日志        FN = 标量函数        IF = 内嵌表函数        P = 存储过程        PK = PRIMARY KEY 约束(类型是 K)        RF = 复制筛选存储过程        S  = 系统表       TF = 表函数       TR = 触发器        U = 用户表       UQ = UNIQUE 约束(类型是 K)       V = 视图       X = 扩展存储过程
View Code

    结果如图:

     三、(1)查找一个数据库或表中所含的字段

     代码如下:

--zjm表的字段名称select name,xtype,typestat,length,status,type,usertype from   syscolumns   where   id=object_id( 'zjm')--zjm表的字段数select   count(name) 表的字段数  from   syscolumns   where   id=object_id( 'zjm')
View Code

     结果如下:

      (2)在一个库中寻找一个字段归属的数据表

select b.name '表名称' ,a.xtype,a.typestat,a.xusertype,a.language,a.length,b.crdatefrom syscolumns a inner join sysobjects b  on a.id=b.id and b.xtype='U' and a.name='name'
View Code

     结果如下:

转载于:https://www.cnblogs.com/zhangbc/p/3432960.html

你可能感兴趣的文章
云计算与虚拟化之后:网络威胁成新挑战
查看>>
50个Demo展示HTML5无穷的魅力
查看>>
chapter 4:贪心
查看>>
批处理学习笔记
查看>>
Linux挂载磁盘
查看>>
Cyclone II RAM ROM设置
查看>>
Ubuntu下实现伪静态
查看>>
python 二维数组遍历
查看>>
第8周课下作业1(补)
查看>>
阿萨斯
查看>>
service启动和停止,绑定和解除绑定
查看>>
elasticsearch开机启动脚本
查看>>
window service 恢复选项卡设置
查看>>
车辆管理系统之编码过程总结(十一)
查看>>
基于AOE网的关键路径的求解
查看>>
2017-5-16 python标准库
查看>>
浅谈游戏的声音处理-流播放文件 source
查看>>
旧版本转换成支持ARC版本
查看>>
创建与服务器的输入输出流
查看>>
string.hのmemmove的实现
查看>>