/* 时间: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: 通配符 转义字符 */