• 数据库复习⑥


    数据库复习⑥

    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语句进行排序选择。

    举例说明:

     clip_image002

    clip_image004

    clip_image006

    clip_image008

    clip_image010

    clip_image012

    Range comparison:between

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

    NOT BETWEEN …AND…

    Set operator: in

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

    clip_image014

    Patterns 字符串匹配问题

    使用关键字Like

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

    clip_image016

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

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

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

    clip_image018

    clip_image020

    5.Aggregation 集函数

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

    clip_image021

    clip_image023

    6.Grouping 分组

    举例:

    clip_image025

    clip_image026

    7.HAVING 字句

    clip_image028

    8.Multi-Relation Queries 多表查询

    clip_image030

    clip_image031

    clip_image032

    clip_image034

    clip_image035

    clip_image037

    clip_image039

    clip_image040

    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谓词的子查询

    clip_image042

    clip_image044

    举例:

    clip_image048

    clip_image050

    10.ANY and ALL Operator

    clip_image052

    clip_image054

    clip_image056

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

    数据库复习⑦友情链接:http://www.cnblogs.com/zpfbuaa/p/5596903.html

  • 相关阅读:
    C# 字符串转换值类型
    C#判断字符串为空
    c#转义字符
    python各种类型的转换
    mysql创建新用户及新用户不能本地登陆的问题
    数据探索的方法
    使用requests爬取猫眼电影TOP100榜单
    Python中的正则表达式教程
    Anaconda多版本Python管理以及TensorFlow版本的选择安装
    Xshell访问虚拟机内Linux
  • 原文地址:https://www.cnblogs.com/zpfbuaa/p/5596775.html
Copyright © 2020-2023  润新知