数据库查询面试题

2020-03-16   158 次阅读


一. 已知用户表USER(ID,USER_NAME,AGE),通过sql语句查询表中相同年龄(AGE)存在两条以上记录的用户年龄及用户个数,并按照统计数量倒排序

语句:

SELECT age 用户年龄,count(*) 用户个数 from user GROUP BY age having count(*)>=2 ORDER BY 用户个数 desc


二· 学生表:STUDENT(ID,USER_NAME)和考试表:EXAM(ID,USER_ID,SCORE)表,STUDENT表主键为ID字段,EXAM表中外键USER_ID为STUDENT的ID字段值,编写SQL查询每位学生的成绩,缺考的以0分处理(缺考的考试表中无记录)



查询结果如下:


语句:

SELECT stu.name 学生名字,IFNULL(e.score,0) 分数 FROM `exam` e,student stu where e.userid = stu.id

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

如人饮水、冷暖自知