(四) 结构化查询语言SQL——2
3)ORDER BY排序语句
通常,查询的结果是以无序的方式显示的,有时需要将查询结果按照一定次序来进行排序。ORDER BY就可以用上了,例如查询课程号为202的课程成绩的所有信息,并按照成绩降序排列
SELECT *
FROM SC
WHERE Cno = '202'
ORDER BY Grade DESC;(ASC代表升序,没有按ASC处理)
本来这个语句超简单,但是这货有个奇葩的共能就是能指定多个排序列,我TM……,比如这种:
SELECT *
FROM SC
WHERE Cno = '202'
ORDER BY Cno,Grade DESC;(经过查证,并非出现两个查询结果,而是先按照第一个排序规则排列,在第一个相同的情况下再按照下一个规则排序)
4)SQL函数
COUNT 计数函数,基本形式 COUNT ([ALL|DISTINCT] *)用于返回查询结果元组的所有的个数或者不重复的个数。例如查询女生的数量
SELECT COUNT (*)
FROM Student
WHERE Sex = '女';
其实还蛮好记忆理解的,可以将COUNT也视为一种属性,即最终结果的个数,反正我就是这么理解的。
除此之外,还有求和SUM、平均值AVG、最大值MAX、最小值MIN等函数,基本形式与COUNT完全相同:<函数名称> ([ALL|DISTINCT] <值表达式>),所谓值表达式一般是指属性,比如查询数据结构课程的成绩平均值:
SELECT AVG (Grade)
FROM SC
WHERE Cname = '数据结构';
5)GROUP BY分组语句
GROUP BY主要是对记录进行分组,然后对每个分组使用聚集函数能够极大地提升效率(聚集函数+GROUP BY会使函数对分组进行相应的计算),其一般形式为:GROUP BY <分组列> {,<分组列>} [HAVING <分组选择条件>],那么HAVING的作用是对分组进行筛选,与WHERE不同,WHERE选择的是记录。例如查询每个学生的平均成绩,并输出平均成绩大于90的学生学号和平均成绩:
SELECT Sno,AVG(Grade)
FROM SC
GROUP BY Sno HAVING AVG(Grade) > 90;
6)连接查询
连接查询可以对多个表进行查询,即在FROM中包括多个表,这表示多个表的笛卡儿积,但是一般来说自然连接会更适合实际情况。例如查询学号为20142480135的学生各科成绩,显示每门课程的课程名和成绩。
SELECT Cname,Grade
FROM SC,Courses
WHERE SC.Cno = Courses.Cno AND SC.Sno = '20142480135';(思考红色部分和自然连接的关系)
自身连接是和自己本身连接,通常情况使用不多,比如查询和武一鸣出生年月相同的学生的姓名:
SELECT B.Sname
FROM Student.A,Student.B
WHERE A.Birthday = B.Birthday AND
S1.Sname = '武一鸣' AND
S2.Sname <> '武一鸣';
用法是不是很奇葩?
知识内容: 1.了解SQL 2.库.表操作及索引 3.select语句及insert语句 4.update语句与delete语句 5.SQL常用函数 6.多表连接及组合查询 7.视图操作及数据控制 参 ... 结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程 ... 1. SQL概述 SQL,结构化查询语言,重要性不必在赘述了,基本上开发软件没有不用到的,此外在一些大数据也有广泛的应用.SQL主要包含数据定义语言(DDL).数据操纵语言(DML)以及数据控制语言( ... 简要描述一下结构化查询语言中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型. 字符型 VARCHARVS CHAR VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要.他们都是用 ... 一.数据定义语言DDL 1.创建表空间:CREAT TABLESPACE lyy DATAFILE 'C:/app/lyy.dbf' SIZE 10M;(创建一个10M的表空间,存放在C盘app文件夹 ... 4. 数据更新 1)增 对应INSERT语句.格式为INSERT INTO T[(A1,…,Ak)] VALUES (C1,…,Ck),其中A代表表T的属性,C代表常量,A可以缺省,此时C必须严格按 ... 1.数据库 常见数据库 MySQL:开源免费的数据库,小型的数据库. Oracle:收费的大型数据库,Oracle 公司的产品 DB2:IBM 公司收费的数据库,常应用在银行系统中 SQLServer ... SQL 结构化查询语言 一.数据库的必要性: >>作用:存储数据.检索数据.生成新的数据 1)可以有效结构化存储大量的数据信息,方便用户进行有效的检索和访问. 2)可以有效地保持数据信息的 ... SQL是Structured Query Language(结构化查询语言)的缩写. SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言. 在使用它时,只需要发出“做什么”的命令,“怎么 ... 当你要编译安装Nginx时,在你执行完./configure之后,会在这个目录生成一个objs这个目录. 进入objs目录下,会看到有一个ngx_modules.c这个文件,这个文件里都是要编译进Ng ... 今天师兄让帮忙测试ZLAN 5800八串口通信模块,windows下的测试按照手册来已经搞定,接下来是Linux下的测试. 因为厂家不提供Linux下的相关资料,所以需要在windows下设置好后直接 ... 以下关于 resultType 与 parameterType 的基本使用的区别 : 1.使用 resultType : 主要针对于从数据库中提取相应的数据出来 2.使 ... “此方法具有构造方法的名字” package classpackage; public class Puppy { public void Puppy(String name) { System.ou ... 环境 jdk 6 tomcat 6.0.53 sts 4.4.2 maven 3.2.5 mysql 5.7 SpringContextHolder SpringContextHolder 可以很方便 ... 1.安装x window 分为两步: 1.安装 x window,执行指令yum groupinstall “X Window” 2.安装GNOME Desktop,执行指令yum groupinst ... 如题,出现的情况如下图所示 解决方式 将√去掉,点击确定关闭,对maven进行刷新操作 解决 其实django的生命周期的大体框架就是这样,剩下的细致的,自己再补充! 图片实在是有点抽象! 谅解!! koala-----给你更多技术小干货 A. 石子游戏 Alice和Bob在玩游戏,他们面前有n堆石子,对于这些石子他们可以轮流进行一些操作,不能进行下去的人则输掉这局游戏.可以进行两种操作:1. 把石子数为奇数的一堆石子分为两堆正整数个石 ... 史上最全的spark面试题——持续更新中 2018年09月09日 16:34:10 为了九亿少女的期待 阅读数 13696更多 分类专栏: Spark 面试题 版权声明:本文为博主原创文章,遵循C ...(四) 结构化查询语言SQL——2的更多相关文章
随机推荐