数据库的有关知识==>>我们的血泪史之经典练习(1-2)
今天给大家说说数据库的有关知识
抒情一下,想在好困,真的,虽然我在这温暖的教室,身边有知心的盆友, ,很高兴还能是学生的一员,我们还年轻,我们也不会想的太多,高高兴兴上学,快快乐乐回家,每天吃的饱饱,听着老湿讲课,和童鞋打闹....还是幸福的,不是吗?好像有点精神了...
学习:
给大家说一下这些有关关键字的使用顺序和内部运行顺序(切记哟)
下面以如何查询每门课程的平均分为例:
使用顺序 内部运行顺序
select SubjectId as 课程编号,AVG(studentresult) as 平均分 --04.投影结果
from Result --01.定位到表
where SubjectId<3 --02.分组前第一道过滤
group by SubjectId --03.分组
having COUNT(studentno)>3 --05.分组后第二道过滤
order by 课程编号 desc --06.最后排序
**************经典练习1*******************
--01.查询每个年级的总学时数,并按照升序排列
select GradeId as 年级编号,SUM(ClassHour) as 总学时数
from Subject
group by GradeId
order by sum(ClassHour)
--02.查询每个参加考试的学员平均分
select studentno as 学生编号,AVG(studentresult) as 平均分
from Result
group by StudentNo
--03.查询每门课程的平均分,并按照降序排列
select subjectid as 学科编号,AVG(studentresult)as 平均分
from Result
group by SubjectId
order by 平均分 desc --'平均分'也可以为'AVG(studentresult)'哟!
--04.查询每个学生参加所有考试的总分,并按照降序排列
select studentno as 学生编号,SUM(studentresult) as 总分
from Result
group by StudentNo
order by 总分 desc --' 总分'也可以为'SUM(studentresult)'哟!
--05.每个年级 男女生总人数(gradeid,gender,人数)
select gradeid as 年级编号,gender as 性别,COUNT(1) as 人数
from student
group by GradeId,Gender
order by GradeId,Gender
--06.每个年级的总人数,满足总人数必须大于等于3
select gradeid as 年级编号,COUNT(1) as 总人数
from student
group by GradeId
having COUNT(1)>=3
*****************经典练习2****************
--01.查询每年级学时数超过50 的课程数 S1
select gradeid as年级编号,COUNT(subjectid) as 课程数
from Subject
where ClassHour>50
group by GradeId
--02.查询每年级学生的平均年龄:
select gradeid as 年级编号,AVG(DATEDIFF(yy,birthday,GETDATE())) as 平均年龄
from student
group by gradeid
--03.查询每个年级包含北京的学生总数 (like '%北京%')
select gradeid as 年级编号,COUNT(1) as 总人数
from student
where address like '%北京%'
group by Gradeid
--04.查询参加考试的学生中,平均分及格的学生记录(学号,平均分),按照降序排列
select studentno as 学生编号,AVG(StudentResult) as 平均分
from Result
group by StudentNo
having AVG(StudentResult)>=60
order by 平均分 desc --'平均分'也可改为'AVG(StudentResult)'哟!
--05.查询考试时间为2015-12-20课程的及格平均分 (课程编号 所有课程平均分)
select subjectid as 学科编号,AVG(studentresult) as 平均分
from Result
where ExamDate>='2015-11-20' and ExamDate<'2015-11-20'
group by SubjectId
having AVG(StudentResult)>=60
--06.统计至少有一次不及格的学生学号和次数。
select studentno as 学生编号,COUNT(1) as 次数
from Result
where StudentResult<60
group by StudentNo
数据库的有关知识==>>我们的血泪史之经典练习(1-2)的更多相关文章
- 基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用
在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各 ...
- SQL server2005学习笔记(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法
在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...
- SQL server学习(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法
在软件测试中,数据库是必备知识,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数据库脱机.联机操作 数据库收缩操作 ...
- 2. Mysql数据库的入门知识
2. Mysql数据库的入门知识 (1)打开Windows系统提供的服务查看相应的服务. (2)在Windows任务管理器的进程中查看 (3)使用命令行管理windows的Mysql数据库服务. Ne ...
- SQL server学习(一)数据库的基本知识、基本操作和基本语法
在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...
- 数据库 MySQL基础知识
(关于MySQL的安装,具体见下面博客:http://www.cnblogs.com/wj-1314/p/7573242.html) 一.什么是数据库 ? 数据库是按照数据结构来组织,存储和管理数据的 ...
- HBase数据库相关基本知识
HBase数据库相关知识 1. HBase相关概念模型 l 表(table),与关系型数据库一样就是有行和列的表 l 行(row),在表里数据按行存储.行由行键(rowkey)唯一标识,没有数据类 ...
- orcale 数据库的一些知识
最近学了一些Oracle数据库的知识,我想自己整理一下,以后也方便自己查阅的. orcale 数据库登录(tiger) 1. sql plus 登录 用户名: sys 口令: 主机字符串:orcl a ...
- [转载]NoSQL数据库的基础知识
关系型数据库和NoSQL数据库 什么是NoSQL 大家有没有听说过“NoSQL”呢?近年,这个词极受关注.看到“NoSQL”这个词,大家可能会误以为是“No!SQL”的缩写,并深感愤怒:“SQL怎么会 ...
随机推荐
- lua中得栈
如果你看了LUA的文档,那么就应该很清楚LUA与C交互数据时都是用到LUA中所谓的stack.那么当我调用lua_open函数之后栈是什么样的呢?空的(luaopen_base等会往栈上加进一些东西) ...
- CSS基础(三):选择器
常用选择器 元素选择器,即html标记如div,ul,li,p,h1~h6,table等. p { font-size:14px; } h1 { color:#F00; } 复合选择器, 由两个选择器 ...
- 为Ubuntu笔记本电脑设置WiFi热点共享上网
该文由土木坛子转译而来,说是转译,其实看截图就可以方便的设置,没有任何命令,全是图形界面,方便容易.我们都知道怎样在 windows 7 系统上如何设计 Wifi 热点,当你只有一条网线,多台计算机的 ...
- IOS实现中间凸起圆形TabBar
中间凸起的圆形TabBar曾经比较流行,类似于闲鱼之类的APP就使用了中间凸起TabBar,这两天自己动手实现了一个,效果图如下: 大致原理:重写UITabBar和UITabBarController ...
- 高效的INSERT INTO SELECT和SELECT INTO
1.INSERT INTO SELECT,目标表必须存在,才可批量插入 INSERT INTO 目标表Table(field1,field2,field2,...) SELECT value1,val ...
- BaaS服务的定义、发展以及未来
BaaS(Backend as a Service)是一种新型的云服务,旨在为移动和Web应用提供后端云服务,包括云端数据/文件存储.账户管理.消息推送.社交媒体整合等.BaaS是垂直领域的云服务,随 ...
- Codeforces Round #197 (Div. 2) (A、B、C、D、E五题合集)
A. Helpful Maths 题目大意 给一个连加计算式,只包含数字 1.2.3,要求重新排序,使得连加的数字从小到大 做法分析 把所有的数字记录下来,从小到大排序输出即可 参考代码 #inclu ...
- 最近买了个kindle,为了方便阅读,写了个程序抓取网页内容发送到Kindle
主要觉得往kindle里加书籍太麻烦了,要下载下来,还要通过邮件发送,特别一些网页文字版的书籍没办法放到kindle里,所以想着还不如自己动手丰衣足食,写一个程序直接抓取网页内容,制作成书籍,然后自动 ...
- Java 停止一个 Thread
boolean flag=true; public void run(){ while(flag){ ... ...
- 自己动手搭建 CAS(Central Authentication Service) 环境,为了单点登录(Single Sign On , 简称 SSO )
介绍 刚刚搭建 CAS 成功了,现在记录下来,怕以后忘记,同时也给需要帮助的人.CAS 搭建需要服务端和客户端,服务端是 Java 写的,如果自己搭建则需要安装与配置 Java 环境.客户端可以是多种 ...