今天给大家说说数据库的有关知识

抒情一下,想在好困,真的,虽然我在这温暖的教室,身边有知心的盆友, ,很高兴还能是学生的一员,我们还年轻,我们也不会想的太多,高高兴兴上学,快快乐乐回家,每天吃的饱饱,听着老湿讲课,和童鞋打闹....还是幸福的,不是吗?好像有点精神了...

学习:

给大家说一下这些有关关键字的使用顺序和内部运行顺序(切记哟)

下面以如何查询每门课程的平均分为例:

使用顺序                                                                           内部运行顺序

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)的更多相关文章

  1. 基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用

    在花了不少时间研究学习了MongoDB数据库的相关知识,以及利用C#对MongoDB数据库的封装.测试应用后,决定花一些时间来总结一下最近的研究心得,把这个数据库的应用单独作为一个系列来介绍,希望从各 ...

  2. SQL server2005学习笔记(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法

    在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...

  3. SQL server学习(一)数据库的基本知识、基本操作(分离、脱机、收缩、备份、还原、附加)和基本语法

    在软件测试中,数据库是必备知识,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数据库脱机.联机操作 数据库收缩操作 ...

  4. 2. Mysql数据库的入门知识

    2. Mysql数据库的入门知识 (1)打开Windows系统提供的服务查看相应的服务. (2)在Windows任务管理器的进程中查看 (3)使用命令行管理windows的Mysql数据库服务. Ne ...

  5. SQL server学习(一)数据库的基本知识、基本操作和基本语法

    在软件测试中,数据库是必备知识,假期闲里偷忙,整理了一点学习笔记,共同探讨. 阅读目录 基本知识 数据库发展史 数据库名词 SQL组成 基本操作 登录数据库操作 数据库远程连接操作 数据库分离操作 数 ...

  6. 数据库 MySQL基础知识

    (关于MySQL的安装,具体见下面博客:http://www.cnblogs.com/wj-1314/p/7573242.html) 一.什么是数据库 ? 数据库是按照数据结构来组织,存储和管理数据的 ...

  7. HBase数据库相关基本知识

    HBase数据库相关知识 1. HBase相关概念模型 l  表(table),与关系型数据库一样就是有行和列的表 l  行(row),在表里数据按行存储.行由行键(rowkey)唯一标识,没有数据类 ...

  8. orcale 数据库的一些知识

    最近学了一些Oracle数据库的知识,我想自己整理一下,以后也方便自己查阅的. orcale 数据库登录(tiger) 1. sql plus 登录 用户名: sys 口令: 主机字符串:orcl a ...

  9. [转载]NoSQL数据库的基础知识

    关系型数据库和NoSQL数据库 什么是NoSQL 大家有没有听说过“NoSQL”呢?近年,这个词极受关注.看到“NoSQL”这个词,大家可能会误以为是“No!SQL”的缩写,并深感愤怒:“SQL怎么会 ...

随机推荐

  1. lua中得栈

    如果你看了LUA的文档,那么就应该很清楚LUA与C交互数据时都是用到LUA中所谓的stack.那么当我调用lua_open函数之后栈是什么样的呢?空的(luaopen_base等会往栈上加进一些东西) ...

  2. CSS基础(三):选择器

    常用选择器 元素选择器,即html标记如div,ul,li,p,h1~h6,table等. p { font-size:14px; } h1 { color:#F00; } 复合选择器, 由两个选择器 ...

  3. 为Ubuntu笔记本电脑设置WiFi热点共享上网

    该文由土木坛子转译而来,说是转译,其实看截图就可以方便的设置,没有任何命令,全是图形界面,方便容易.我们都知道怎样在 windows 7 系统上如何设计 Wifi 热点,当你只有一条网线,多台计算机的 ...

  4. IOS实现中间凸起圆形TabBar

    中间凸起的圆形TabBar曾经比较流行,类似于闲鱼之类的APP就使用了中间凸起TabBar,这两天自己动手实现了一个,效果图如下: 大致原理:重写UITabBar和UITabBarController ...

  5. 高效的INSERT INTO SELECT和SELECT INTO

    1.INSERT INTO SELECT,目标表必须存在,才可批量插入 INSERT INTO 目标表Table(field1,field2,field2,...) SELECT value1,val ...

  6. BaaS服务的定义、发展以及未来

    BaaS(Backend as a Service)是一种新型的云服务,旨在为移动和Web应用提供后端云服务,包括云端数据/文件存储.账户管理.消息推送.社交媒体整合等.BaaS是垂直领域的云服务,随 ...

  7. Codeforces Round #197 (Div. 2) (A、B、C、D、E五题合集)

    A. Helpful Maths 题目大意 给一个连加计算式,只包含数字 1.2.3,要求重新排序,使得连加的数字从小到大 做法分析 把所有的数字记录下来,从小到大排序输出即可 参考代码 #inclu ...

  8. 最近买了个kindle,为了方便阅读,写了个程序抓取网页内容发送到Kindle

    主要觉得往kindle里加书籍太麻烦了,要下载下来,还要通过邮件发送,特别一些网页文字版的书籍没办法放到kindle里,所以想着还不如自己动手丰衣足食,写一个程序直接抓取网页内容,制作成书籍,然后自动 ...

  9. Java 停止一个 Thread

    boolean   flag=true;         public   void   run(){             while(flag){                     ... ...

  10. 自己动手搭建 CAS(Central Authentication Service) 环境,为了单点登录(Single Sign On , 简称 SSO )

    介绍 刚刚搭建 CAS 成功了,现在记录下来,怕以后忘记,同时也给需要帮助的人.CAS 搭建需要服务端和客户端,服务端是 Java 写的,如果自己搭建则需要安装与配置 Java 环境.客户端可以是多种 ...