mysql-复杂查询解题思路
-
拆句
从左到右找句子成分中的定语和其修饰语;
按照顺序分别列出其定语,最右一个是修饰语; -
分析所有成分
根据已知条件确定查询类型【原始数据查询 or 聚合查询(表中不能直接得到,要通过计算才能得到 的数据)】;
分析查询涉及表数据和【表关系】; -
从左向右确定成分的SQL形式【表或查询语句】
确定存在于主结构中的方式:
① 合并查询(作为from之后的一个部分);
② 连接查询(作为xxx join之后的一部分);
③ 作为查询条件出现在(in/all/any/some子句中); -
确定该部分层
例如:
题目:查询不同部门带班最多的老师分别是谁
1.查找不同部门有哪些老师
2.查找不同部门老师分别带了多少个班级
3.找到不同部门带班最多的老师的带班数量
4.找到和不同部门带班最多的老师的编号相同的老师编号
5.内连接将不同部门带班最多的老师编号和员工信息表中的编号关联