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. 多线程基础知识---join方法

    join方法的作用 thread.join()方法用于把指定的线程加入到当前线程中,把当前线程的CPU执行时间让给另一个线程.比如在线程B中调用了线程A的Join()方法,直到线程A执行完毕后,才会继 ...

  2. IDEA里的git的使用

    1.将代码交由git管理 VCS  ——>  Enable Version Control Integration... 选择要使用的版本控制系统,选择Git  ——>  OK 2.将代码 ...

  3. JVM 分析工具和查看命令,超详细

    jinfo 可以输出并修改运行时的java 进程的opts. jps 与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号. jstat 一个极强 ...

  4. c++ erase 中的坑

    先看一段正常的代码 #include <iostream> #include <string> using namespace std; int main() { " ...

  5. c++学习笔记之函数重载和模板理解

    1.函数重载: C++ 不允许变量重名,但是允许多个函数取相同的名字,只要参数表不同即可,这叫作函数的重载(其英文是 overload).重载就是装载多种东西的意思,即同一个事物能完成不同功能. 所谓 ...

  6. Swoft2.x 小白学习笔记 (四) --- RPC

    介绍 swoft 中 RPC使用:搭建访问服务端和客户端 RPC服务端: 一.配置,在文件 /app/bean.php中添加 return [ 'rpcServer' => [ 'class' ...

  7. JS的精确简单的加减乘除

    简单的写法: <script> function decNum(a){/*获取小数位数*/ var r=0; a=a.toString(); if(a.indexOf(".&qu ...

  8. UAV图像拼接软件编译环境配置

    1,需要下载的软件: 依次安装qt-opensource.addin qt安装目录为C:\Qt\4.8.6 2,vs2010配置 *配置UAVBeta工程的属性,下图黑色字体部分与qt相关,取决于你的 ...

  9. 大数据学习(2)- export、source(附带多个服务器一起启动服务器)

    linux环境中, A=1这种命名方式,变量作用域为当前线程 export命令出的变量作用域是当前进程及其子进程. 可以通过source 脚本,将脚本里面的变量放在当前进程中 附带自己写的tomcat ...

  10. GTA4 EFLC cheat code

    GTA4 EFLC cheat code 提示警告:您的图像设置接近或超出您的系统推荐资源限制,为了使游戏运行更加流畅推荐你降低你的图像设置. 在游戏目录新建名为 commandline的txt文本文 ...