这篇博客主要介绍单链表的基本查询的条件:
1、检索数据表中的字段的数据:
select * from 表名;//数据量大的时候不易使用 select 字段1,字段2.... from 表名;//检索指定字段的数据
2、比较大小:使用=、>、<、>=、<=、!=、<>检索表中指定行的数据:
select 字段名1、2... from 表名 where 字段名 比较运算符 常量值;//常量值如果等于字符型,如汉字,要加引号
3、确定集合:使用in关键字检索表中指定的数据内容:
select 字段名1、2.. from 表名 where 字段名 in(n1,n2,n3..);//in的使用情形就像点名,在In范伟内,点到谁谁出来 //否定:not in
4、确定范围:使用between…and关键字:
select 字段名1、2... from 表名 where 字段名[not]between 上限制 and 下限制 ;//一个范围是开始值,另一个范围是结束值
5、字符匹配:使用like模糊匹配数据:
select 字段名1、2.. from 表名 where 字段名 like '字符%(_)';//%可以匹配任意长度字符,_只能匹配一个字符 eg.查询学号带0505:where stu_id like '%0505%';
6、查询空值:使用 is null:
select 字段名1、2.. from 表名 where 字段名 is null;//null不代表0,也不代表空值,而是代表未知的状态; is not null //不是空值
7、去除重复结果:使用关键字:distinct:
select distinct 字段名1、2.. from 表名 [where 条件表达式]
8、多条件查询:使用关键字:and、or:
select 字段名1、2.. from 表名 where 表达式1 and(or) 表达式2;//and是且,or是或,但是and和or一起使用的时候,and的优先级高于or
9、对查询表排序:使用 order by :
select 字段名1、2.. from 表名 order by 字段名1、2... [asc[desc];//asc可以省略,默认升序,desc降序;排序的字段名可以多个
10、对查询结果分组:
计数函数:
count(*) //统计元组的个数 count(([distinct]<字段名>))//统计一列中值的个数
求和函数:
sum(([distinct]<字段名>))//计算一列中值的总和,此列必须为数值
求平均数值的函数:
AVG(([distinct]<字段名>))//计算一列值的平均值,此列必须为数值
求最大(小)值函数:
MAX(MIN)(([distinct]<字段名>))//求一列值的最大(小)值,此列为数值、字符、日期
注意:使用group by 字段名将查询的是按结果的某一列
11、对查询结果进行分组并筛选分组:
select 字段名1、2.. from 表名 [where 表达式1 and 表达式2] group by 字段名 having 表达式;
注意:having 不能单独使用,必须跟在group by短语之后,having短语的功能是对分组进行筛选,如:查询某门课程数小于2的情况:group by cs_depart having count(cs_name)<2;
查询的语法格式:
select [distinct]<目标列表达式>,...... from <表名> [where <表达式>]//[]表示可以没有该语句 [group by <列名>[having <表达式>]] [order by <列名>[asc|desc];