一、 GROUP BY 子句 -分组
订单表
订单时间 订单金额 客户
2018.12.7 1000 小明
2018.11.3 500 小明
2018.10.10 2000 张三
2018.9.10 1000 张三
2018.4.10 1000 王二
1.每个客户在2018年订单总金额?
SELECT 客户,SUM(订单金额) AS 总金额
FROM 订单表
GROUP BY 客户;
网站记录表
统计各个网站总访问量?
HAVING 子句 - 条件子句与where条件子句区别:HAVING可以与函数一起使用
1.在2018年订单总金额大于2000的客户?
SELECT 客户
FROM 订单表
GROUP BY 客户
HAVING SUM(订单金额) > 2000;
二、ORDER BY 子句 -排序
SELECT 客户
FROM 订单表
ORDER BY 订单金额 ASC升序|DESC降序
三、LIMIT 子句 - 分页
SELECT 客户
FROM 订单表
LIMIT 0,20;
查询SQL语句语法:
SELECT 字段列表|*
FROM 表名
[WHERE 条件]
[GROUP BY 字段]
[HAVING 条件]
[ORDER BY 字段 ASC|DESC]
[LIMIT [偏移量,] 记录条数]
四、外键-外键约束
CREATE TABLE 表名(
字段1 数据类型,
字段2 数据类型,
PRIMARY KEY(字段1), //设置字段1为主键
CONSTANT fk1
FOREIGN KEY(字段2
) REFERENCES 表名2(id
) ON DELETE CASCADE, UPDATE RESTRICT
)
五、表间关系
教学管理系统
学生表 课程表 班级表 教师表
班级表 1:n 学生表 一对多
学生表 n:n 课程表 多对多
班级表 1:1 教师表 一对一