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 <> '武一鸣';

用法是不是很奇葩?

(四) 结构化查询语言SQL——2的更多相关文章

  1. 数据库入门4 结构化查询语言SQL

    知识内容: 1.了解SQL 2.库.表操作及索引 3.select语句及insert语句 4.update语句与delete语句 5.SQL常用函数 6.多表连接及组合查询 7.视图操作及数据控制 参 ...

  2. 结构化查询语言-SQL

    结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程 ...

  3. (三) 结构化查询语言SQL——1

    1. SQL概述 SQL,结构化查询语言,重要性不必在赘述了,基本上开发软件没有不用到的,此外在一些大数据也有广泛的应用.SQL主要包含数据定义语言(DDL).数据操纵语言(DML)以及数据控制语言( ...

  4. 结构化查询语言(SQL)数据类型

    简要描述一下结构化查询语言中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型. 字符型 VARCHARVS CHAR VARCHAR型和CHAR型数据的这个差别是细微的,但是非常重要.他们都是用 ...

  5. Oracle数据库语言——结构化查询语言SQL

    一.数据定义语言DDL 1.创建表空间:CREAT TABLESPACE lyy DATAFILE 'C:/app/lyy.dbf' SIZE 10M;(创建一个10M的表空间,存放在C盘app文件夹 ...

  6. (五) 结构化查询语言SQL——3

    4. 数据更新 1)增 对应INSERT语句.格式为INSERT INTO T[(A1,…,Ak)]  VALUES (C1,…,Ck),其中A代表表T的属性,C代表常量,A可以缺省,此时C必须严格按 ...

  7. SQL 数据库结构化查询语言

    1.数据库 常见数据库 MySQL:开源免费的数据库,小型的数据库. Oracle:收费的大型数据库,Oracle 公司的产品 DB2:IBM 公司收费的数据库,常应用在银行系统中 SQLServer ...

  8. SQL 结构化查询语言

    SQL 结构化查询语言 一.数据库的必要性: >>作用:存储数据.检索数据.生成新的数据 1)可以有效结构化存储大量的数据信息,方便用户进行有效的检索和访问. 2)可以有效地保持数据信息的 ...

  9. SQL Structured Query Language(结构化查询语言) 数据库

    SQL是Structured Query Language(结构化查询语言)的缩写. SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言. 在使用它时,只需要发出“做什么”的命令,“怎么 ...

随机推荐

  1. GCD和LCM

    GCD _ LCM 是给你两个数A B 的最大公约数, 以及最小公倍数 the greatest common divisor and the least common multiply ! 最大公约 ...

  2. 如何利用python爬虫爬取爱奇艺VIP电影?

    环境:windows    python3.7 思路: 1.先选取你要爬取的电影 2.用vip解析工具解析,获取地址 3.写好脚本,下载片断 4.将片断利用电脑合成 需要的python模块: ##第一 ...

  3. 基于全备份+binlog方式恢复数据

    基于全备份+binlog方式恢复数据 将bkxt从库的全备份在rescs5上恢复一份,用cmdb操作 恢复全备后执行如下操作 set global read_only=OFF; stop slave; ...

  4. 关于vs code文本编辑器的快捷键

    另一篇编辑器Sublime Text下载.使用教程.插件推荐说明.全套快捷键 基础编辑 快捷键 作用 Ctrl+X 剪切 Ctrl+C 复制 Ctrl+Shift+K 删除当前行 Ctrl+Enter ...

  5. T100——作业action执行其他P作业,后台背景执行完后才能继续操作改作业

    范例:如axmt500订单,查询开单占用量: 客制作业cxmp500,通过参数-订单号,查询该订单下的料件,目前有库存量.开单占用量.库存可用量,查询后更新到该订单下的单身对应栏位: 现在axmt50 ...

  6. Nginx、OpenResty和Kong的基本概念与使用方法

    Nginx.OpenResty和Kong的基本概念与使用方法 2018年10月10日 22:46:08 李佶澳 阅读数 322更多 分类专栏: kubernetes   版权声明:本文为博主原创文章, ...

  7. Centos7.3安装Oracle11.2.0.3

    1.创建用户用户组 [root@smallcloud ~]# groupadd oinstall [root@smallcloud ~]# groupadd dba [root@smallcloud ...

  8. maven 常见命令 学习笔记(一)之 -pl -am -amd

    假设现有项目结构如下 dailylog-parent|-dailylog-common|-dailylog-web 三个文件夹处在同级目录中 dailylog-web依赖dailylog-common ...

  9. JS实现带省略号的长分页显示

    // 刷新|生成分页信息 function refreshPageInfo(data, pageIndex) { var pageSize = data.pageCount pagingInfo.ht ...

  10. layer的两种提示信息

    layer.msg('您的航班价格已变动,请返回重新选择航班!', { time: 10000, shade : [0.6 , '#000' , true], btn: ['返回列表', '关闭'], ...