099 杂思

/*
时间:2020/09/13
功能:
    一 思考
    二 问题
    三 记录
*/   

一 思考

/*
计算机本质:数据存储与操作。        
    数据库: 
        1 调用者 -> 外部接口:输入命令。
        2 内部: 执行流程(已优化好的数据结构和算法) + 数据(表)。
        3 数据流程控制比较弱,数据操作比较强, 
        
    编程语言:
        1 流程: 自己编写的。
        2 数据流程控制比较强,数据操作比较弱。
*/


二 问题

/*
问题:         
    ?如何设计比较好的表和表结构关系    
    ?如何建立好的表关系
        (1) 建表过程: 划分表、表简约束、表内约束。
    ?全身收入怎么计算
        (2) 月薪 * 12 + 奖金(有null)
        select ename "姓名", sal "月收入", sal * 12 + isnull(comm, 0) "年收入"
            from emp
    ?SQL快捷键
        sql server快捷键:
            1 f5: 分析
            2 alt + x: 执行
    ?使用: like; not like; in; =; not in 
    ?不包含: not in like; "%^a%"
    ?每个部门收入最高和最低人的: 姓名、月收入、年收入、部门编号,部门名称。
*/


三 记录

/*
主键: 
    1 定义: 能唯一标识一个事物的一个字段或多个字段组合。
    2 特点
        (1) 含有主键的表叫主键表。
        (2) 主键通常是整数。
        (3) 主键值通常不允许修改,除非本记录被删除。
        (4) 主键命名,表名_id。
        (5) 使用代理主键,不要使用业务主键。
        
外键:
    1 定义: 一个表中若干个字段来自另外若干个表的主键或唯一键。
    2 注意: 
        (1) 外键通常来自另外表的主键,而不是唯一键,因为唯一键可能为null。
        (2) 外键不一定是来自另外的表,也可能来自本表的主键。
        (3) 含有外键的表叫外键表,外键字段来自的那张表叫主键表。
        
兼容性:
    1 创建表,最后一个不写,
    2 字段别名用 ""
    3 字符串用 ''
*/
/*
数据库:
    1 库: 创建、删除。
    2 表:创建、删除。
    3 列:创建、删除。
    4 行: 增加、删除。    
    5 查询
    
编写顺序:
    select ...
    from ...
    join ...
    on ...
    join ...
    on ...
    where ...
    group by ...
    having ...
    order by ...
            
执行顺序:
    from ...
    join ...
    on ...
    join ...
    on ...
    where ...
    group by ...
    having ...
    order by ...
    select ...
*/
/*
查询:    
    select
        1 显示: * 列名: 
        3 别名: as ""
        4 算术运算: + - * /    
        5 distinct: 单个 组合    
        6 top: 
            (1) top num 
            (2) top num percent        
    from
        1 选择查询表
        2 给表取别名
            
    where:
        条件:
            1 基本筛选: = > < != <>
            2 筛选关系: and or
            2 筛选条件: between in like null 
        关联:
            1 关联表
            
    order by:
        1 顺序: 升序 order by; 降序 order by desc 
        2 条件: 单个 组合
    
    group by
        1 使用: 分组字段、聚合函数
        2 条件: 单个 组合
        
    having
        1 分组过滤
    
        
聚合函数
    1 单行函数: lower upper 
    2 多行函数: max min avg sum 
    3 count(*)总个数  count(列名)非null个数

    
附加:
    like: 通配符 转义字符
*/
原文地址:https://www.cnblogs.com/huafan/p/13662176.html