知识回顾
    函数
    1.可以理解为函数是Java中定义的方法(人家写好 我们自己描述)
    2.函数不用对象来调用, 直接写函数名
    3.函数可以含有参数, 0-n个都可以
    4.函数必须有返回值
    5.函数可以直接的放在SQL语句中调用(直接写函数名)
    函数可以放在select后面, 当做一个显示内容
    函数可以放在where后面, 当做条件
    比较函数
    ifnull();
    数学函数(数值函数)—->Math
    abs floor round mod pow
    日期时间函数—->Date Calendar
    now year(date) month day week
    控制流程函数
    if(表达式,1,2); 三目运算符 ifnull(值,v);
    字符串函数—->String StringBuilder
    length concat replace substr instr reverse
    upper lower ltrim rtrim lpad rpad
    分组函数

    去重复 distinct
    distinct 列 如果有一样的列信息 讲一样的信息合并
    行数会减少 查询的没有一个列 行数个数需要一致
    distince 如果有两个或两个以上的列, 那么它会把这两个列当做一个整体,
    如果整体有一样的信息 则才会去重复 否则就全部显示
    select distinct now() from student;
    select now();

    分组函数+分组条件
    group by 列
    如果SQL语句中一旦搭配了分组条件
    能展示的信息只有两种
    分组条件 分组函数
    select classid, count(sid) from student group by classid;
    select sage, count(sid) from student group by sage;
    分组函数
    count();数个数
    max() min() avg() sum()
    分组条件
    group by 分组条件
    如果SQL语句中一旦搭配了分组条件
    能展示的信息只有两个
    分组条件 分组函数

    1.查询Student表格中每一个班级有多少个同学
    select classid, count(sid) from student group by classid;
    1.查询student表格中每一个班级有多少个同学
    select sage, count(sid) from student group by sage;
    2.查询student表格中每一个班级的语文平均分
    select classid, avg(chinese) from student group by classid;
    3.查询出平均分,并且排序
    select classid, avg(chinese) from student group by classid order by avg(classid) desc;
    4.查询student表格中所有的男同学
    select classid, count(sid) from student where ssex = ‘nan’ group by classid;
    5.查询student中那些有18岁的同学,在哪个班级
    select classid, count(sid)from student where sage = 18 group by classid;
    6.查询student 表格中语文平均成绩高于90分的班级
    select classid, chinese from student group by chinese having svg(chinese)>90;
    7.分组条件+ 分组函数的查询
    1.在查询之前需要先考虑 到底是先分组 还是先筛选条件
    先筛选 后分组 where group by
    先分组 后筛选 group by having
    ————————————————————————————————————————————————-
    嵌套
    一个完整的SQL语句 嵌套了另外一个完整的SQL语句
    1.查询student表格中语文成绩最高的人
    select max(chinese)from student;
    select *from student where chinese = (select max(chinese) from student);

    select from (select sname, ssex, sage, classid from student) newTable;
    select
    from (select sname, ssex, sage, classid from student) newTable where sage = 18;

    2.查询在深圳班级上课的同学有哪些?
    select * from student where classid = (select classid from myclass where classloc = ‘深圳’);