前几天去了两个比較牛的互联网公司面试.在sql这块都遇到问题了,哎.可惜呀,先把简单的梳理一下 成绩表 score 1.group by 使用 按某一个维度进行分组 比如: 求每一个同学的总分 SELECT student,SUM(score) FROM score GROUP BY student 求每一个同学的平均分 SELECT student,AVG(score) FROM score GROUP BY student 也能够依照 班级,课程 来求 2.having 与 where的差别
一.子查询入门: 1.单值子查询: 单值子查询的唯一限制:子查询的返回值必须只有一行记录,而且只能有一列(又被称为标量子查询). 可以使用在select语句的列表.表达式中,以及where语句中等. 例1:select 1 as f1,2,(select min(fyearpublished) from t_book),(select max(fyearpublished) from t_book) as f4 from dual; 2.列值子查询: 列值子查询可返回一个多行多列的结果集(又称为
下面这些sql都含有子查询: mysql> select * from t1 where a in (select a from t2); mysql> select * from (select * from t1) as t; 按返回的结果集区分子查询 1.标量子查询 那些只返回一个单一值的子查询称之为标量子查询.比如: select * from t1 where a in (select max(a) from t2); 2.行子查询 返回一条记录的子查询,不过这条记录需要包含多个列.