• 数据库读书笔记


    1,having:HAVING 子句对 GROUP BY 子句设置条件的方式与 WHERE 子句和 SELECT 语句交互的方式类似。WHERE 子句搜索条件在进行分组操作之前应用;而 HAVING 搜索条件在进行分组操作之后应用。例如

    SELECT pub_id, SUM(advance) AS AmountAdvanced,AVG(price) AS AveragePrice FROM pubs.dbo.titles WHERE pub_id > '0800' AND price >= 5 GROUP BY pub_id HAVING SUM(advance) > 15000 AND AVG(price) < 20 ORDER BY pub_id DESC

    2,Group by:英文的字面意义上理解就是“根据(by)一定的规则进行分组(Group)”。它的作用是通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。例子参加百度百科的国家水果例子

     

    3,sql算子执行顺序:Where, Group By, Having, Order by

     

    4,exists和in

    exists作用是检验查询是否返回数据,指定一个子查询,检测行的存在

    IN:确定给定的值是否与子查询或列表中的值相匹配。

    exits 相当于存在量词:表示集合存在,也就是集合不为空只作用一个集合.例如 exist P 表示P不空时为真; not exist P表示p为空时 为真

    in表示一个标量和一元关系的关系。例如:s in P表示当s与P中的某个值相等时 为真; s not in P 表示s与P中的每一个值都不相等时 为真。

    如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in

    详细可以参看:http://baike.baidu.com/view/1229931.htm

    5,distinct可以让行数不重复“select distinct name from score where namenotin (select distinctnamefrom scorewhere score<=80)”

    6,比较浅显的说明三个范式:1NF 每一列只有一个值,2NF 每一行都能区分,3NF 每一个表都不包含其他表已经包含的非主关键字信息。

  • 相关阅读:
    POJ 1775 (ZOJ 2358) Sum of Factorials
    POJ 1844 Sum
    HDOJ 1081(ZOJ 1074) To The Max(动态规划)
    HDOJ 2012 素数判定
    HDOJ 2011 多项式求和
    HDOJ 2010 水仙花数
    马云最新发言:让员工、客户、合作伙伴比自己更强
    乐视手机1S正式发售,乐视商城官网抽风遭网友吐槽
    C++引用(Reference)
    实验三 二叉树的基本操作(建立)及遍历
  • 原文地址:https://www.cnblogs.com/zhongwh/p/2418443.html
Copyright © 2020-2023  润新知