博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库复习⑥
阅读量:5235 次
发布时间:2019-06-14

本文共 1997 字,大约阅读时间需要 6 分钟。

数据库复习⑥

2016年6月18日

18:16

Main SQL 增删改查

1.SQL 核心内容

DDL(Data Definition Language)数据定义语言

Query Language 数据查询语句

DML(Data Manipulation language)数据操纵语言

DCL(DataControl language)数据控制语言

2.Queries 查询

Single-relation queries 单表查询

Multi-relation queries 多表查询

Subqueries 子查询

Grouping and Aggregation 分组和聚集

3.Select-From-Where Statements

语句格式:

SELECT [ ALL | DISTINCT ] <目标列表达式> [ ,<目标列表达式> ]…

FROM <表名或视图名> [ ,<表名或视图名> ]…

[ WHERE <条件表达式> ]

[ GROUP BY <列名1> [ HAVING <条件表达式> ] ]

[ ORDER BY <列名2> [ASC|DESC]]

解释:(1)上面中括号中的内容为选择内容,可以有也可以没有,注意前面有一个逗号"," ;

             (2)WHERE语句里面不能有集函数,同时WHERE语句可以省略;

             (3)GROUP BY 语句用来进行分组,后面的HAVING 语句可以包括集函数,用来进行判断;

             (4)ORDER BY语句用来进行排序,排序操作实际上是在查询结束之后进行的,默认为ASC 递增排序,也可以选择DESC为递减排序;

             (5)SQL查询语句对字母大小写不敏感,因此Select 和SELECT均可以被识别,不过建议使用大写;

             (6)GROUP BY语句应该在WHERE语句之后,其实GROUP BY语句应该在查询语句的最后面,由于ORDER BY语句不属于查询语句了,因此可以放在ORDER BY 之前;

              (7)尽管SELECT语句放在查询语句的最前面但是其执行为最后的,也就是在GROUP BY语句之后,因此在GROUP BY语句内不能使用SELECT 语句里面的别名;

              (8)SELECT 语句中的ALL 与DISTINCT对应的是:查询结果保留重复、查询结果不包括重复;

              (9)SELECT 语句是用来选择属性列,不过可以使用* 操作符可以选择出表中的所有属性列。

3.Single-Relation Queries 单表查询

单表查询相对于多表查询属于最基本的查询操作。

可以在SELECT语句中选择结果表的属性列以及使用别名甚至使用集函数、由于表只有一个因此在FROM语句中只要写上表名即可、在WHERE语句中可以使用AND关键字来进行多项判断和筛选、在GROUP BY语句中可以选择某一个属性列进行分组、在ORDER BY语句进行排序选择。

举例说明:

 

Range comparison:between

使用谓词: BETWEEN…AND…大于等于并且小于等于

NOT BETWEEN …AND…

Set operator: in

使用谓词 IN <值表>, NOT IN <值表>

Patterns 字符串匹配问题

使用关键字Like

% = “any string”; _ = “any character.”

4.三种逻辑值 TRUE = 1 , FALSE = 0 , UNKNOWN = 1/2

AND = MIN ; OR = MAX ; NOT(x) = 1-x

NULL 空值比较特殊,需要特别对待

5.Aggregation 集函数

SUM求和函数、AVG求平均值函数、COUNT计数函数、MIN最小值函数、MAX最大值函数、COUNT(*)元组个数

6.Grouping 分组

举例:

7.HAVING 字句

8.Multi-Relation Queries 多表查询

9.Subqueries 子查询

子查询返回一个结果表Subqueries that return one Tuple

通常该返回表只有一个属性列Usually, the tuple has one component

如果不止一个属性列则会产生运行时错误A run-time error occurs if there is no tuple or more than one tuple

子查询中不可以使用ORDER BY

带有IN的子查询:循环元组,当该元组的值在返回表中时输出到结果表中

带有EXISTS谓词的子查询

举例:

10.ANY and ALL Operator

 

 数据库复习⑦摘要: DDL、DML、Views视图

转载于:https://www.cnblogs.com/zpfbuaa/p/5596775.html

你可能感兴趣的文章
linux网络配置、环境变量以及JDK安装(CentOS 6.5)
查看>>
Leetcode Validate Binary Search Tree
查看>>
利用套打和分栏巧妙来做商品价签
查看>>
hdu 1102 Constructing Roads(kruskal || prim)
查看>>
JS中一些特殊的方法
查看>>
vb.net版机房收费——助你学会七层架构(二)反射+抽象工厂
查看>>
【转载】SpringBoot yml 配置
查看>>
tcp client.cs
查看>>
函数 2018-3-26
查看>>
C#调用C++函数的注意事项
查看>>
类别联动下拉菜单
查看>>
程序的存储空间布局/堆与栈
查看>>
ubuntu环境变量设置
查看>>
【LOJ】#2061. 「HAOI2016」放棋子
查看>>
USACO 5.3 Network of Schools
查看>>
【LOJ】#2494. 「AHOI / HNOI2018」寻宝游戏
查看>>
JS检测数据类型
查看>>
学会使用自定义选择器
查看>>
CCR, CCD, CDA, EMR, PHR
查看>>
as3 tip(转发)
查看>>