数据库原理-数据查询 单表查询【二】

这篇具有很好参考价值的文章主要介绍了数据库原理-数据查询 单表查询【二】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据库原理-数据查询 单表查询【二】

聚集函数

聚集函数:

  • 统计元组个数

    COUNT(*)

  • 统计一列中值的个数

    COUNT([DISTINCT|ALL]<列名>)

  • 计算一列值的总和(此列必须为数值型)

    SUM([DISTINCT|[ALL]<列名>)

  • 计算一列值的平均值(此列必须为数值型)

    AVG([DISTINCT|ALL]<列名>)

  • 求一列中的最大值和最小值

    MAX([DISTINCT|ALL]<列名>)

    MIN([DISTINCT|ALL]<列名>)

查询学生总人数

	SELECT COUNT(*)
	FROM Student;

查询选修了课程的学生人数

	SELECT COUNT(DISTINCT Sno)
	FROM SC;

计算1号课程的学生平均成绩

	SELECT AVG(Grade)
	FROM SC
	WHERE Cno='1'

查询选修1号课程的学生最高分数

	SELECT MAX(Grade)
	FROM SC
	WHERE Cno='1';

查询学生201215012选修课程的总学分数

	SELECT SUM(Credit)
	FROM SC,Course
	WHERE Sno='201215012' AND SC.Cno=Course.Cno

GROUP BY 子句分组

细化聚集函数的作用对象

  • 如果未对查询结果分组,聚集函数将作用于整个查询结果
  • 对查询结果分组后,聚集函数将分别作用于每个组
  • 按指定的一列或多列值分组,值相等的为一组

求各个课程号及相应的选课人数

	SELECT Sno,COUNT(Sno)
	FROM SC
	GROUP BY Cno;

数据库原理-数据查询 单表查询【二】

查询选修了3门以上课程的学生学号

	SELECT Sno
	FROM SC
	GROUP BY Sno
	HAVING COUNT(*)>3

查询平均成绩大于等于90分的学生学号和平均成绩

错误的SQL

	SELECT Sno,AVG(Grade)
	FROM SC
	WHERE AVG(Grade)>=90
	GROUP BY Sno;

因为WHERE子句中不能所有聚集函数作为条件表达式

正确的SQL

	SELECT Sno,AVG(Grade)
	FROM SC
	GROUP BY Sno
	HAVING AVG(Grade)>=90

HAVING短语与WHERE子句的区别

  • 作用对象不同
  • WHERE子句作用与基本表或视图,从中选择满足条件的元组
  • HAVING短语作用于组,从中选择满足条件的组

列出计算机系姓刘的同学的信息,按照学号大小排序

	SELECT *
	FROM Student
	WHERE Sdept='CS' AND Sname LIKE '刘%'
	ORDER BY Sno;

按系并区分男女统计各系学生的人数、并按照人数降序排序文章来源地址https://www.toymoban.com/news/detail-438590.html

	SELECT Sdept,Ssex,COUNT(Sno)
	FROM Student
	GROUP BY Sdept,Ssex
	ORDER BY COUNT(Sno) DESC;

到了这里,关于数据库原理-数据查询 单表查询【二】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《数据库原理》实验六 SQL数据查询实验

    本系列传送门: 实验二 SQL Server SSMS工具创建和管理数据库及数据表 实验三 SQL Server SSMS工具添加数据 实验四 SQL的数据定义语句 实验五 数据库完整性约束的实现与验证 实验六 SQL数据查询实验 实验六(2) SQL数据查询—连接查询 实验七 SQL的数据更新和视图 实验八 T_SQL编程

    2024年02月03日
    浏览(97)
  • 数据库系统原理及MySQL应用教程实验四MySQL数据库表数据的查询操作

    1.掌握SELECT 语句的基本语法格式。 2.掌握SELECT 语句的执行方法。 3.掌握SELECT 语句的 GROUP BY 和 ORDER BY 子句的作用。 验证性实验:在公司的部门员工管理数据库的bumen表和yuangong表上进行信息查询。 设计性试验:将在student表和score表上进行查询。 ( 一 ) 验证性实验 在

    2024年02月05日
    浏览(54)
  • 数据库实验一:基本表操作、基本数据查询和复杂数据查询

    按下图创建四个表:teacher、student、course和SC,为属性选择合适的域、合适的主码和外键约束,并为他们插入所列出数据; 中文语义 teacher (TID,TNAME,DEPT,SALARY) 教师(教工号,姓名,系,薪水) student (SID,SNAME,DEPT,AGE,GENDER) 学生(学号,姓名,系,年龄,性别) course (CID,CNAME,DE

    2024年02月01日
    浏览(61)
  • 大学数据库创建与查询实战——查询

    目录 查询表中指定的字段   查询表中的某一个字段的语法格式为: (一) (二)  GROUP BY 子句 (三) ORDER BY :对查询结果进行排序: 头歌实验 (四) (五)   查询表中的某一个字段的语法格式为: SELECT 列名 FROM 表名 ; 不同字段名称之间用逗号“,”分隔开,最后一

    2024年02月10日
    浏览(44)
  • 关系数据库SQL数据查询

    1.查询仅涉及一个表,选择表中的若干列 查询全部列 选出所有属性列: 在SELECT后面列出所有列名 将目标列表达式指定为 * 查询经过计算的值 SELECT子句的目标列表达式不仅可以为表中的属性列,也可以是表达式 使用列别名改变查询结果的列标题: 2.选择表中的若干元组

    2024年02月09日
    浏览(54)
  • 数据库实验三 数据查询二

    任务描述 本关任务:查询来自借阅、图书、读者数据表的数据 为了完成本关任务,你需要掌握: 如何多表查询 相关知识 查询多个数据表 在实际应用中,查询经常会涉及到几个数据表。 基于多个相关联的数据表进行的查询称为连接查询。 命令格式: select * from 数据表 fro

    2024年02月09日
    浏览(48)
  • java查询数据库百万条数据,优化之:多线程+数据库

    今天去面试时hr问了个关于大量数据查询的问题。 面试官:“我们公司是做数据分析的,每次需要从数据库中查询100万条数据进行分析,该接口不能用分页(不限制具体怎么实现),请问怎么优化sql或者java代码呢??” 如果用普通查询需要5分多分钟才查询完毕,所以我们用

    2024年02月15日
    浏览(51)
  • MySQL数据库:数据库的约束以及数据的聚合、联合查询

    目录 一.关系模型的简要概述 二.数据库的约束  2.1约束类型         2.2NULL约束 2.3 UNIQUE:唯一约束 2.4 默认约束 2.5 PRIMARY KEY:主键约束 2.6 FOREIGN KEY:外键约束 2.7 CHECK约束 三.高效率查询 3.1高效率查询的分类 3.2聚合查询 3.2.1聚合函数 3.2.2 GROUP BY子句 3.2.3HAVING 3.3.联合查询

    2024年02月10日
    浏览(62)
  • 数据库 SQL高级查询语句:聚合查询,多表查询,连接查询

    创建Students和Courses表 直接查询 设置别名查询 设置条件查询 使用COUNT(*) 和 COUNT(StudentID)是一样的效果,因为StudentID是主键,每行记录的主键都不同。另外我们在聚合查询中还是能使用WHERE子句的,比如我们要 查找年龄大于20岁的学生数量 ,可使用以下SQL语句: 函数 说明 SUM

    2024年02月09日
    浏览(121)
  • 【数据库】日常使用PL/SQL 登录ORACLE 数据库查询数据

    一、PL/SQL 登录方式 username: ##访问数据库的账号 password: ##访问数据库的密码 Databse: ##数据库IP地址/实例名 数据库集群心跳地址/实例名 Connect as : ##Normal,如果使用sysdba账户登录选择SYSDBA 二、PL/SQL使用SQL语句查询 点击上方导航栏,New,选择SQL Window,即可再次输入要查询的

    2024年02月19日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包