外包公司笔试试题

 
1. 写一个关于一下题目test case :
关于以下方程:bool Fn(int a, int b, int c)a,b,c为三角形三边判断能否构成三角形能返回true否返回false.
1)       A=0?,
B=0?
C=0?,任意条件满足则 Fn=1
2)       If (a=b)
then if (a+b)<=c
      then Fn=1
      else Fn=0
     endif
else if(a+c)<=b
     then Fn=1
      else Fn=0
     endif
else if(b+c)<=a
     then Fn=1
     else Fn=0
     endif
endif
 
2. 一个存储过程功能往一个表里插入数据并读出@@identity(最新自增列)现有10个客户端同时调用该存储过程@@identity否会有冲突
不会,因为数据库中有加锁限制。
 
Create Table StudentMarks
(ID Int,
 name Varchar(10),
 score Int,
 subject Nvarchar(20))
 
 
Insert StudentMarks Select 1,'jiangjun', 60,N'语文'
Union All Select 2,'jiangjun', 60,N'语文'
Union All Select 3,'jiangjun', 70,N'数学'
Union All Select 4,'wangjian', 60,N'语文'
Union All Select 5,'wangjian', 40,N'数学'
Union All Select 5,'wangjian', 40,N'数学'
Union All Select 6,'weicao',     50,N'语文'
Union All Select 7,'weicao',     70,N'英语'
Union All Select 8,'weicao',     60,N'数学'
 
根据此表
1)删除里面除id外都相同记录
Delect from studentmarks where id not in{
      Select id,distance(name,subject) from studentmarks };
Tracy says:
2)求所有科都及格同学。
Select * from studentmarks where subject>=60;
A             B     C     D  
  2001     01     1     200  
  2001     02     2     300  
  2001     05     4     400  
  2002     01     1     10  
  2002     05     2     100  
   
 
编写 SQL 语句使上表变成  
  A           01     02     05  
  2001   200     150   100              
  2002     10               50  
SELECT   A,    
          SUM(CASE   B   WHEN   '01'   THEN   D/C   ELSE   null   END)   [01],  
          SUM(CASE   B   WHEN   '02'   THEN   D/C   ELSE   null   END)   [02],  
          SUM(CASE   B   WHEN   '05'   THEN   D/C   ELSE   null   END)   [05]  
  FROM  
 
  GROUP   BY   A
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值