PART 3 数据库应用  (占比 17%)

总体要求

理解数据库的基本概念、理解 DDL 及 DML 语言、能够根据业务需求及数据特征使用查询语言从数据库中获取准确、完整的数据信息、能够应用数据库函数进行数据处理及计算


1、数据库相关概念(占比 1%)

【领会】

数据库分类

数据库的功能定位:OLTP

数据仓库的功能定位:OLAP

联机事务处理 ( OLTP ) 系统旨在针对小工作单元进行快速写入,例如,用于快速创建单个事件。 联机分析处理 ( OLAP ) 数据仓库旨在促进跨大型数据集进行快速分析,例如,在去年创建的所有事件中快速确定服务级别协议 SLA 的遵从。

SQL 语言的功能

【熟知】加载数据库、数据库管理系统与 SQL 之间的关系


2、DDL 数据定义语言(占比 2%)

DDL适⽤于定义和管理数据库元素的语⾔,主要⽤于数据库中的数据表、索引、视图的创建、修改和删
除等。常⽤的关键字主要包括create、drop、alter等。

【领会】

数据库基本结构

最小的储存单位:字段

【熟知】

数据类型约束条件

为了保证数据的完整性,可以通过四种方式来实现,约束、规则、默认值、触发器。

完整性约束包括:主键约束(PRIMARY KEY)、外键约束(FOREIGN KEY)、 唯一约束(UNIQUE)、非空约束(NOT NULL)、检查约束(CHECK)。

CREATE TABLE emp(

depid CHAR(3) PRIMARY KEY,

depname VARCHAR(20) NOT NULL,

peoplecount INT UNIQUE DEFAULT 0);

【应用】

创建、选用、删除数据库

CREATE DATABASE 库名

USE 库名

DROP 库名

创建、修改、删除表

CREATE TABLE 表名(数据名 类型 约束条件,……);

ALTER TABLE 表名 RENAME 新表名;    #修改表名

ALTER TABLE 表名 MODIFY 字段名 数据类型;     #修改数据类型

ALTER TABLE 表名 CHANGE 字段名 新字段名 数据类型;     #修改字段名和数据类型

ALTER TABLE 表名 ADD 字段名 数据类型 约束条件;     #添加新字段

ALTER TABLE 表名 MODIFY 字段名 数据类型 FIRST;    #将字段的排列顺序改为第一位

ALTER TABLE 表名 MODIFY 字段名1 数据类型 AFTER 字段名2;     #将字段1的排列顺序改到字段2之后

ALTER TABLE 表名 DROP 字段名     #删除字段

DROP TABLE  表名(只有DROP不用跟数据类型)


3、DML 数据操作语言(占比2%)


DML是对数据库中表记录的操作,⽤于添加、删除、更新和查询记录,并检查数据完整性。

常⽤的关键字主要包括:insert、delete、update等,是开发⼈员⽇常使⽤最频繁的操作。

【领会】

添加数据的步骤

【熟知】

添加、修改、删除数据的语法规则

【应用】

添加数据

 insert into 表名(字段名,……)

       values(值1,……),(值2,……)

数据分析SQL面试题库 sql数据分析考什么证书_数据分析SQL面试题库

修改数据

update 表名

  set 列=新值,列=新值,……

 where 筛选条件;

数据分析SQL面试题库 sql数据分析考什么证书_数据分析SQL面试题库_02

删除数据

delete from 表名 where 筛选条件

(删除数据但保留表结构)


4、单表查询(占比 3%)

【领会】

虚拟结果集

【熟知】

运算符

数据分析SQL面试题库 sql数据分析考什么证书_表名_03

数据分析SQL面试题库 sql数据分析考什么证书_表名_04

SQL 语句的书写顺序和执行逻辑

FROM-->WHERE-->GROUP BY-->HAVING-->SELECT-->ORDER BY

【应用】

基本查询:去重查询、设置别名

别名是在WHERE⼦句后计算的,所以WHERE⼦句中不能⽤别名,FROM⼦句中可以⽤表别名。

Distinct 必须出现在字段开头



select id, distinct name from A;   --会提示错误

select count(distinct name) from A; --正确



条件查询:多条件查询、空值查询、模糊查询 分组查询:分组聚合、分组后筛选

HAVING 子句中的筛选字段必须是可以出现在分组结果中的字段。

SELECT deptid,AVG(sal) FROM employee GROUP BY deptid HAVING job=’clerk’;      (x)

查询结果排序、限制查询结果数量


5、多表查询

【领会】

对应关系:一对一、一对多、多对多连接方式:内连接、左连接、右连接连接条件:等值连接、不等值连接

【熟知】

连接查询的逻辑和联合查询规则

连接的关键字段可以有一个或多个

【应用】

连接查询:内连接、左连接、右连接联合查询:去重、不去重

Union:合并,去重,相当distinct

Union all合并,不去重


6、子查询 (占比3%)

【领会】

子查询分类

所有的连接查询都能表示为子查询(√)

Where子句的查询条件是聚合函数时不能表示为连接查询

【熟知】

子查询位置、子查询操作符

Any:满足其中任意一个条件

All:满足所有条件

Exists:表示存在,返回布尔值

Limit:查询后只显示limit指定数字的行数结果

【应用】

子查询语法规则

一定在小括号内
子查询可以出现在SELECT、WHERE、HAVING、FROM、JOIN子句中。

子查询优化


7、数据库函数 (占比 3%)

【领会】

计算字段

【熟知】

函数功能及参数

聚合函数不能出现在where子句中


【应用】

数学函数、字符串函数、日期时间函数、分组合并函数、逻辑函数

数学函数:round 四舍五入

          Ceil 向上取整

          Floor 向下取整数

          Mod 取余

          Truncate 截断

          DECIMAL 保留精度

字符串函数:concat 字符串连接

            Substr 截取

            Instr 返回第一次出现的索引

            Upper/lower 返回大小写

日期时间函数:now curdate curtime

Group_concat()返回由属于一组的列值连接组合而成的结果,常与group by一起使用,将分组后的字段值都显示出来。

如:使用group_concat查询不同s_id下所有的f_name信息

Select s_id,group_concat(f_name) from fruits group by s_id;

Cast()将一个值转换为指定的数据类型