mysql基本:
主键:唯一一个识别一条记录的字段;
自增:某个字段不需要手动填写数据,而是通过系统分配的整理,每一条数据分配的值都是前一条数据的增量;
系统分配的整数:每一条数据分配的值都是前一条数据的增量;
非空:字段设置为非空时,填写的数据时要求该字段为必填项目;
默认值:字段不写数据时会默认为数据;
基本语法
select * conctatd.adress_list where tel not like 1%;
select * where =固定语法;not like 1%=不以1开头
selsct avg()from____; avg:select avg(column) from table 统计表中某列数值的平均值(一般是数字类型),可以搭配group by语句等;
selsct count()from____;count:求个数,count()里面也可以跟某个字段,特指某个字段的行数;
selsct sum()from____;sum:求和,SUM 只能与数字列一起使用。空值将被忽略;
selsct max()from____;max:最大
selsct min()from____;min:最小
group by :GROUP BY 是分组查询, 一般 GROUP BY 是和 聚合函数配合使用;
order by : 按照递增或递减顺序在指定字段中对查询的结果记录进行排序;
desc :取反
实题解析(详细表格资料请自行到网上下载):
1:select后面跟着写sname,ssex,class然后from STUDENT就可以查询到这三列;
2:重点在于不可以重复所以要使用分组(group by),查询teacher里的depart列然后分组;
4:因为要提取60到80之间的的成绩所以要><号中间用and用来连接,或者使用between 60 and 80;
5:这道题主要是想写出3个成绩的记录,所以用in(85,86,87);
6:这种情况要使用or来表示或者;
7:先使用order by 来进行排序,然后使用desc变成降序;
8:先将有score找到再跟7一样只是一个升序一个降序,
9:使用count()来进行统计人数,count会在select后面写;
10:使用子查询的方法,先将最高分的人用max()查找出来再将学号和课程号找出;
11:平均分要使用avg()来查询
12:先在成绩里求出平均分然后找到以3开头的进行分组
12,13:having 主要用于分组后的条件过滤,未分组的用 where,如果用了group by 那么后面的过滤条件就不能再用where了,要用having