有问题再追问,望采纳。
1、定义固定长度非Unicode字符型局部变量S,且长度为6的命令是declare @S char(10)。
2、表达式6!8=的值是 true,表达式(9=8)and(5<6)的值为false。
3、表达式STR(123645,8,2)的值的 12364。
4、表约束是SQL Server 提供的一种强制实现数据完整性的机制,包括:主键约束、外键约束、唯一键约束、检查约束、默认值约束、级联参照完整新约束
5、定义日期时间局部变量DT的命令是:declare @DT datetime。
6、实体之间的联系可以有3种:1对1、1对多和多对多。
7、表达式LEN(‘beijing’)的值是7。
8、在T-SQL中可以使用两种类型的注释字符:单行注释和多行注释。
select xm 姓名,xb 性别,csrq 出生日期 from E;
select xm 姓名,round((sysdate-csrq)/365,0) 年龄 from e where xb='male';
select from d where lx='技术服务中心';
select a,bbmmc from (select dno,avg(money) jiangjin from r group by dno) a left join (select bmmc,dno from d group by bmmc,dno) b on adno=bdno order by ajiangjin desc
update r set money=money-100 where money>=600
update r set money=(1+05)money where dno in (select dno from d where bmmc='项目三部')
delete from d where dno not in (select dno from r)
select aeno,axm,bbmmc,cmoney from e a,d b,r c where aeno=ceno and adno=cdno
select a,bbmmc from (select dno from r where eno not in (select eno from e where xm='张三三')) a left join d b on adno=bdno
最后一个自己写吧 哈哈
--基础题
--1查询读者最喜爱的3种图书分类号,即借阅表中出现最多的3类图书分类号
SELECT TOP 3 [分类号] FROM [图书] JOIN [借阅] ON [图书][图书编号]=[借阅][图书编号]
GROUP BY [分类号] ORDER BY COUNT() DESC
--附加题
--1查询小于20岁的读者最喜欢的3类图书
SELECT TOP 3 [书名] FROM [读者] JOIN [借阅] ON [读者][借书证号]=[借阅][借书证号]
JOIN [图书] ON [图书][图书编号]=[借阅][图书编号]
WHERE [年龄]<20 GROUP BY [书名] ORDER BY COUNT() DESC
--2查询至少借阅了 宁静 所借图书(书名相同)的人的姓名
SELECT [姓名] FROM [读者] WHERE [姓名]<>'宁静' AND [借书证号] IN(SELECT [借书证号] FROM [借阅]
WHERE [图书编号] IN(SELECT [图书编号] FROM [读者] JOIN [借阅] ON [读者][借书证号]=[借阅][借书证号] WHERE [姓名]='宁静'))
--3查询借阅了多于3本书且每本书价均高于60的读者的借书证号
SELECT [借书证号]
FROM [借阅] JOIN [图书] ON [图书][图书编号]=[借阅][图书编号]
WHERE [单价]>60 GROUP BY [借书证号] HAVING COUNT()>3
GO
--4假定读者表中所有人姓名均不多于4个汉字,请建立一个查询语句,要求根据名字中任意1个或两个或3个或4个汉字,即可找到该读者的详细信息(即完全模糊查询)
CREATE PROCEDURE CX
@XM VARCHAR(8) AS
IF LEN(@XM)=1 SELECT FROM [读者] WHERE @XM LIKE '['+RTRIM([姓名])+']'
ELSE IF LEN(@XM)=2 SELECT FROM [读者] WHERE LEFT(@XM,1) LIKE '['+RTRIM([姓名])+']' AND RIGHT(@XM,1) LIKE '['+RTRIM([姓名])+']'
ELSE IF LEN(@XM)=3 SELECT FROM [读者] WHERE LEFT(@XM,1) LIKE '['+RTRIM([姓名])+']' AND SUBSTRING(@XM,2,1) LIKE '['+RTRIM([姓名])+']' AND RIGHT(@XM,1) LIKE '['+RTRIM([姓名])+']'
ELSE IF LEN(@XM)=4 SELECT FROM [读者] WHERE LEFT(@XM,1) LIKE '['+RTRIM([姓名])+']' AND SUBSTRING(@XM,2,1) LIKE '['+RTRIM([姓名])+']' AND SUBSTRING(@XM,3,1) LIKE '['+RTRIM([姓名])+']' AND RIGHT(@XM,1) LIKE '['+RTRIM([姓名])+']'
GO
请参看链接:>
所以呢答案应该是:200+[4(3-1)+4-1]4=200+44=244
两个表第一个store(store_id,city,space)
第二个employee(store_id,emp_id,salary)
1、每家店的平均工资
select t1store_id,AVG(salary) from store t1 inner join employee t2 on t1store_id=t2store_di
group by t1store_id
2、每个城市的平均工资
select t1city,AVG(salary) from store t1 inner join employee t2 on t1store_id=t2store_di
group by t1city
3、查找该城市存在员工工资低于1000的城市信息
select distinct t1city
from store t1 inner join employee t2 on t1store_id=t2store_id
where t2salary<1000
4、查找城市其职工工资有低于1000的该城市职工平均工资
select t1city,avg(t2salary)
from store t1 inner join employee t2 on t1store_id=t2store_id
where exists(select from employee t3
where t1store_id=t3store_id and t3salary<1000)
group by t1city
其他的自己看吧,比较简单
5、每个城市工资最高的员工信息
select t2city,t1 from employee t1 inner join store t2 on t1store_id=t2store_id
where exists(
select from (
select t1city,max(salary) from store t1 inner join employee t2 on t1store_id=t2store_di
group by t1city) tt where t1city=ttcity and t2salary=ttsalary)
6、查询每个城市的员工总工资,总的店面面积(),门店的数量,员工数量,最高/最低工资数
此题的考点是行转列,可用case when +group by 实现
具体如下
select
suserid,
max(case when stypeid=1 then svaule END) 手机号码,
max(case when stypeid=2 then svaule END) 邮箱地址,
max(case when stypeid=3 then svaule END) 固定号码,
max(case when stypeid=4 then svaule END) 微博名字
from (select auserid,btypeid,btypename,avaule from testmessge a,testbaseon b
where atypeid=btypeid)s
GROUP BY suserid
以上就是关于数据库笔试问题全部的内容,包括:数据库笔试问题、数据库sql编程题目,正在笔试求帮助、数据库,SQL查询题目等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)