博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sqlserver 数据库面试题目
阅读量:6182 次
发布时间:2019-06-21

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

hot3.png

    今天参加完面试,遇到了一些sql题,现把这些题目一一列出,希望有人看到,如果你在面试过程中碰巧遇到此类问题,那么就直接秒杀吧,哈哈。

    首先简历一个stuscore表。其中name为姓名,subject为科目,score为成绩。

  create table stuscore(         name varchar(20),         subject varchar(20),         score int     )

    1、查找出有两门成绩小于60分的学生的所有成绩的平均成绩

    思路:首先求出有两门成绩小于60分的学生姓名,然后在求其平均成绩

  select name,avg(score) from stuscore where name in    (select name from stuscore where score < 60 group by name having count(*) >= 2)group by name

    2、查询每个学生最大分数的科目及分数

    思路:首先获取每个学生最大的分数值,然后在连接查询

select a.name,a.subject,a.score from stuscore a,    (select name max(score) score from stuscore group by name) bwhere a.name = b.name and a.score = b.score

    3、-- 行列转换

select name as '姓名',       max(case subject when '语文'  then score else 0 end) as '语文',       max(case subject when '数学' then score else 0 end) as '数学',       max(case subject when '英语' then score else 0 end) as '英语'from stuscore group by name

    说明:这里加上max函数的原因是group by name。具体可以看下group by的用法以及注意事项

    

 

 

    

转载于:https://my.oschina.net/u/1474079/blog/279676

你可能感兴趣的文章
NULL与""空字符串的区别
查看>>
OSPF邻居关系建立过程详解
查看>>
JDK10 EA版特性速览
查看>>
超过254个IP,如何规划子网
查看>>
Amoeba新版本MYSQL读写分离配置
查看>>
制作XPE启动光盘的教程
查看>>
计算机网络基础
查看>>
一步步打造漂亮的新闻列表(无刷新分页、内容预览)(2)
查看>>
cron任务计划
查看>>
我也参加了唐骏一手推动的【2015年微创中国运动会】
查看>>
认证模式之SSL模式
查看>>
如何在 Linux 中统计一个进程的线程数
查看>>
NVIDIA新作解读:用GAN生成前所未有的高清图像(附PyTorch复现) | PaperDaily #15
查看>>
CString、CTime和COleDateTime转换
查看>>
在linux虚机中装vmtools
查看>>
WCF技术剖析之十三:序列化过程中的已知类型(Known Type)
查看>>
linux设备驱动程序--类class的实现
查看>>
中国云计算应用进入集中爆发期
查看>>
算法精解---计数排序
查看>>
DockOne微信分享(一二八):容器如何监控?
查看>>