出生年月的数据类型的date。
根据以上信息按照下面要求写出对应的SQL语句
ps:这些题考察SQL的编写能力,对于这类型的题目需要你先把4张表の间的关联关系搞清楚了,最好的办法是自己在草稿纸上画关联图然后再编写对应的SQL语句就比较容易了。下图是我在草稿纸上画的这4张表的关系图不好理解,你可以列举一些数据案例来辅助理解:
1.查询课程编号为“01”的课程比“02”的课程成绩高的所有学生的学号(重点)
区别:法一是from 三个表连接s_core分为两列,法二:a和b作为子查询s_core为一列
2、查询平均成绩大于60分的学生的学号和平均成绩(简单,第二道重點)
3、查询所有学生的学号、姓名、选课数、总成绩(不重要)
4、查询姓“猴”的老师的个数(不重要)
5、查询没学过“张三”老师课的學生的学号、姓名(重点)
6、查询学过“张三”老师所教的所有课的同学的学号、姓名(重点)
7、查询学过编号为“01”的课程并且也学过編号为“02”的课程的学生的学号、姓名(重点)
8、查询课程编号为“02”的总成绩(不重点)
9、查询所有课程成绩小于60分的学生的学号、姓洺
10.查询没有学全所有课的学生的学号、姓名(重点)
11、查询至少有一门课与学号为“01”的学生所学课程相同的学生的学号和姓名(重点)
注: and在括号外用
疑问;distinct 不知道什么时候用
12.查询和“01”号同学所学课程完全相同的其他同学的学号(重点)
13、查询没学过"张三"老师讲授的任一门课程的學生姓名 和47题一样(重点,能做出来)
15、查询两门及其以上不及格课程的同学的学号姓名及其平均成绩(重点)
16、检索"01"课程分数小于60,按分数降序排列的学生信息(和34题重复不重点)
17、按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩(重重点与35一样)
18.查询各科成绩最高分、最低分和平均分:以如下形式显示:课程ID,课程name最高分,最低分平均分,及格率中等率,优良率优秀率
-- 19、按各科成绩进行排序,并显示排名(重点row_number)
20、查询学生的总成绩并进行排名(不重点)
21 、查询不同老师所教不同课程平均分从高到低显示(不重点)
22、查询所有课程的成绩第2名到第3名的学生信息及该课程成绩(重要 25类似)
2.先分组后排序作为一个表
3.从表Φ筛选出某行,用where
备注:如果想选出学生信息那成绩,就是以列的形式出现如果1.2.3名以行的形式出现,就不能有对应的学生信息(见25題
24、查询学生平均成绩及其名次(同19题,重点)
25、查询各科成绩前三名的记录(不考虑成绩并列情况)(重点 与22题类似)
最大值max 是这列的徝 最大值(上图可看出)
备注:1.括号里是一个表 加括号命名为a
26、查询每门课程被选修的学生数(不重点)
27、 查询出只有两门课程的全部学生的学號和姓名(不重点)
28、查询男生、女生人数(不重点)
29 查询名字中含有"风"字的学生信息(不重点)
31、查询1990年出生的学生名单(重点year)
32、查询平均成績大于等于85的所有学生的学号、姓名和平均成绩(不重要)
33、查询每门课程的平均成绩结果按平均成绩升序排序,平均成绩相同时按課程号降序排列(不重要)
34、查询课程名称为"数学",且分数低于60的学生姓名和分数(不重点)
35、查询所有学生的课程及分数情况(重点)
36、查询任何一门课程成绩在70分以上的姓名、课程名称和分数(重点)
37、查询不及格的课程并按课程号从大到小排列(不重点)
38、查询课程编号為03且课程成绩在80分以上的学生的学号和姓名(不重要)
39、求每门课程的学生人数(不重要)
40、查询选修“张三”老师所授课程的学生中成績最高的学生姓名及其成绩(重要top)
41.查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩 (重点)
42、查询每门功成绩最好的前兩名(同22和25题)
43、统计每门课程的学生选修人数(超过5人的课程才统计)要求输出课程号和选修人数,查询结果按人数降序排列若人數相同,按课程号升序排列(不重要)
44、检索至少选修两门课程的学生学号(不重要)
45、 查询选修了全部课程的学生信息(重点划红线地方)
47、查询没学过“张三”老师讲授的任一门课程的学生姓名(还可以自己写的,答案中没有)
48、查询两门以上不及格课程的同学的学號及其平均成绩(还可以自己写的,答案中没有)
46、查询各学生的年龄(精确到月份)
备注:年份转换成月份比如结果是1.9,ditediff 最后取1年
47、查询本月过生日的学生(无法使用week、date(now())
以下函数无法在SQL server中使用 所以截取标准答案(MySQL)
谢谢请问最后是不是還要加个union all? union all的意思是不是就表示如果25-30岁有3个人的话那用这句union all就把三个元组合并成一个元组了? 刚学这种函数啊,方法啊都没有接触到麻烦大神解释下吧。
下载百度知道APP抢鲜体验
使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。
上面查询的列自己可以调一下
你对这个回答的评价是?
下载百度知道APP抢鲜体验
使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。