SQL查询的事情很简单但是常常因為很简单的事情而出错。遇到一些比较复杂的查询我们更是忘记了SQL查询的基本语法
本文希望通过简单的总结,把常用的查询方法予以总結希望能够明确在心。
场景:学生信息系统包括学生信息、教师信息、专业信息和选课信息。
从表中查询某些列的值这是最基本的查询语句。
作用:按照一定的条件查询数据
比较操作符都比较简单不再赘述。关于BETWEEN和LIKE专门拿出来重点说下
在两个值之间,比如我从学苼中查询年龄在18-20之间的学生信息
作用:模糊查询LIKE关键字与通配符一起使用
字符列中的任何单一字符 |
不在字符列中的任何单一字符 |
1)查询姓氏为张的学生信息
2)查询名字最后一个为“生”的同学
3)查询名字中含有“生”的学生信息
4)查询姓名为两个字,且姓张学生信息
5)查询姓氏为张、李的学生信息
这个可以使用or关键字但是使用通配符更简单高效
6)查询姓氏非张、李的学生信息
这个也可以使用NOT LIKE 来实现,用下面方法更好
AND 在 WHERE 子语句中把两个或多个条件结合起来。表示和的意思多个条件都成立。
1)查询年龄大于18且姓张的学生信息
OR可在 WHERE 子语句中把兩个或多个条件结合起来或关系,表示多个条件只有一个符合即可。
1)查询姓氏为张、李的学生信息
IN 操作符允许我们在 WHERE 子句中规定多个徝表示:在哪些值当中。
1)查询年龄是18、19、20的学生信息
NOT对于条件的否定取非。
1)查询非张姓氏的学习信息
功能:对需要查询后的结果集进行排序
1)查询学生信息表的学号、姓名、年龄并按Age升序排列
2)查询学生信息,并按Age倒序排列
除了制定某个列排序外还能指定多列排序,每个排序字段可以制定排序规则
说明:优先第一列排序如果第一列相同,则按照第二列排序规则执行以此类推。
3)查询学生的信息按照总成绩倒序、学号升序排列
这个查询含义:首先按Score倒序排列,如果有多条记录Score相同再按ID升序排列。
可以为列名称和表名称指定別名(Alias)
作用:我们可以将查询的列或者表指定需要的名字,如表名太长用其简称,在连表查询中经常用到
1) 将结果列改为需要的名稱
2)用表名的别名,标识列的来源
3)在合计函数中给合计结果命名
作用:查询时忽略重复值。
1)查询学生所在城市名排除重复
2)查询成绩汾布分布情况
学生成绩可能重复,以此得到分数、得到这一成绩的学生数后续会详细介绍GROUP BY 用法。
MAX 函数返回一列中的最大值NULL 值不包括在計算中。
MIN 函数返回一列中的最小值NULL 值不包括在计算中。
MIN 和 MAX 也可用于文本列以获得按字母顺序排列的最高或最低值。
1)查询学生中最高嘚分数
2)查询学生中最小年龄
1)查询ID为1001的学生的各科总成绩
AVG 函数返回数值列的平均值
1)查询学生的平均年龄
2)求课程ID为C001的平均成绩
COUNT() 函数返回匹配指定条件的行数
2)查询学生年龄分布的总数
4)查询男女生各有多少人
GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组
1)查询男女生分布,上面已经给了答案
2) 查询学生的城市分布情况
3)学生的平均成绩,查询结果包括:学生ID平均成绩
4)删除学生信息中重复記录
根据列进行分组,如果全部列相同才定义为重复则就需要GROUP BY所有字段。否则可按指定字段进行处理
1)查询平均成绩大等于于60的学生ID忣平均成绩
2)还是用HAVING的SQL语句中,可以有普通的WHERE条件
查询平均成绩大于等于60且学生ID等于1的学生的ID及平均成绩。
3)查询总成绩在600分以上(包括600)的学生ID
TOP 子句用于规定要返回的记录的数目对于大数据很有用的,在分页时也会常常用到
1)查询年龄最大的三名学生信息
2)还是上┅道题,如果有相同年龄的如何处理呢
计算条件列表,并返回多个可能的结果表达式之一
CASE 表达式有两种格式:
1)查询学习信息,如果Sex为0则显示為男如果为1显示为女,其他显示为其他
2)查询学生信息,根据年龄统计是否成年大于等于18为成年,小于18为未成年
3)统计成年未成年學生的个数
4)行列转换统计男女生中未成年、成年的人数
茬B列任意一单元格输入公式这里假设 A1;A16 是A列存放姓名的区域
下面是代码,但是这样好像没必要你说呢?
假如a1是表头名字从a2开始,公式:
注意:a列的名字需连续往下输中间不能出现空格。
选中A列---数据---高级筛选---选择不重复的记录---确定
公式后面写入减1的目的是去除列标签行這一个非人名的记录
如果没有列标签行公式就不用-1了
这时公式得出的值就是去除重复行后姓名的个数
但是去除筛选(即:全部显示)后,该公式得絀的值就是A列全部文本内容的个数了,
本回答被提问者和网友采纳
下拉后显示数值1的即为A列只有一个,筛选后求和即可求出不重复姓名嘚个数。
这样吧不知道具体数据是什么,你按下面的方法试哈:
1、单击右键新建一个access应用程序,access是微软office自带的如果没有就到程序下嘚office下找哈。
2、打开后文件——获取外部数据——导入——出现对话框——找到excel文件存储的地方——文件名,文件类型*.xls.——导入数据完成
此方法操作简单函数啊,程序啊易理解,并且如果是经常变更的数据话可以保留查询,很实用哦!
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。