一、简单查询
(一)表的创建、修改、删除
创建表
CREATE TABLE 表名 (列名1 数据类型(长度),列名2 数据类型(长度),…..);
2、删除表:DROP TABLE 表名
3、 修改表:ALTER TABLE 表名ADD 列名 数据类型/DROP COLUMN 列名
(二)表数据的插入、删除、更新
1、插入数据:INSERT INTO 表名(列名1,列名2,….) VALUES(值1,值2,….)
2、删除数据:DELETE FROM 表名称 WHERE 列名称 = 值
3、修改数据:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值


PS:建立了course, score, student, teacher四个表,后续再此基础上练习sql语句。
4、通配符在sql中运用(模糊查询)
Select 列名1,列名2,…..From 表名 Where 列名 like 条件
PS:
(1) like与%
① %猴:已猴结尾;
② 猴%,已猴开始;
③ %猴%,包含猴;
(2)like与下划线():下划线表示任意一个字符


二、汇总分析
运算符介绍:
算术运算符:加(+)、减(-)、乘(*)、除(/);
比较运算符:等于(=)、不等于(<>)、大于(>)、大于等于(>=)、小于(<)、小于等于(<=);
逻辑运算符:否定某一条件(not)、并且(and)、范围查询(between)、或者(or、in);
函数介绍:
Select count/ sum/ avg/max/min 列名From 表名;
1、汇总

2、分组

3、分组指定条件

4、 排序

5、 综合

三、复杂查询
(一) 语法
Select count/ sum/ avg/max/min 列名
From 表名
Where 查询条件
Group by 分组条件
Having 对分组结果指定条件
Order by 对查询结果进行排序(asc升序排列,desc降序排列)
Limit 取指定行
1、子查询:

四、面试的topN问题

五、多表查询
1、子查询:当需要将一个查询的结果作为另一个查询的数据来源或判断条件时使用(in、any、all)
2、标量子查询:返回单一值。
3、关联子查询:每个组里比较。
4、联结
记住这张表:


6、 case表达式:当有多种情况,需要进行条件判断时。
Case when <判断表达式> then <表达式>
when <判断表达式> then <表达式>……..
else <表达式>
end
六、行列转化
步骤:输出目标表的结构——将常量替换为成绩(case表达式)——分组

最后请记住sql语句的运行顺序
