SQLite数据库基本知识(三)

一、SQL数据库的查询语句
以下是一张成绩表
create table student(
id int,
name varchar(20),
chinese float,
english float,
math float
);
1.查询表中所有学生信息
SELECT * FROM student; //只显示表内数据并不显示列名
显示列名的代码:.header ON/OFF

2.查询表中所有学生的姓名和对应的英语成绩
SELECT name,english FROM student;

3.过滤表中的重复数据
SELECT DISTENCT * FROM student; //参数就是distenct,是否删除重复数据

二、通过查询语句对查询的列进行计算 //查询的数据计算并没有改变数据库中的值
1.统计每个学生的总分
SELECT name,english+math+chinese FROM student; //这里总分的列就是english+math+chiese

SELECT name as 姓名,english+math+chinese as 总分 FROM student;
//使用as语句起别名的命令
SELECT 列名 as 别名 FROM 表名;

2.在所有学生总分数上加十分特长分

SELECT name AS 姓名,english+math+chinese+10 AS 总分 FROM student;

三、使用where子句,进行过滤查询
1.查询姓名为李一的学生成绩

SELECT englishi,english,chinese FROM student WHERE name=‘李一’

2.查询英语成绩大于90分的同学

SELECT * FROM student WHERE english>90;

3.查询总分大于200分的所有同学

SELECT * FROM student WHERE english+math+chinese>200;

四、在where子句中经常使用的运算符
1.比较运算符
> 大于 ;<小于;<= ; >= ; = ;<>不等于
BETWEEN AND 显示在某一区间的值(包含头和尾)
IN(SET) 显示在in列表中的值,例:in(100,200)
LIKE ‘张pattern’ 模糊查询//LIKE语句中 %代表零个或多个任意字符,_代表一个任意字符
is NULL 判断是否为空
2.逻辑运算符
and & “ 和”表示多个条件同时成立
or | "或"表示多个条件任一成立
not ! 不成立
例:查询除了李明的其他同学信息
SELECT * FROM student WHERE name <> ‘李明’

查询英语成绩为80-90之间的所有同学信息
SELECT * FROM student WHERE english BETWEEN 80 AND 90;

模糊查询:查询英语成绩大于90的同学
SELECT * FROM student WHERE english LIKE ‘9%’;

查询英语成绩大于90,且数学成绩大于80的学生信息
SELECT * FROM student WHERE english>90 AND math>80;

取反查询,语文成绩不大于80的学生
SELECT * FROM student WHERE NOT(chinese >80);

五、使用order by子句排序查询结果
知识点:ASC 升序 、DESC 降序
ORDER BY 子句应位于SELECT语句的结尾

1.按数学成绩排序,从低到高的顺序输出
SELECT * FROM student ORDER BY math ASC;

2.按照总分排序,从高到低排
SELECT * FROM student ORDER BY chinese+math+english DESC;

3对数学成绩大于60的学生,按数学从高到低排序输出
SELECT * FROM WHRER math>60 ORDER BY math DESC;

六、使用group by语句对查询结果进行分组

SELECT * FROM table group by column

七、利用having语句进行过滤
having 和where 都可以实现过滤,但在having可以使用聚合函数,having通常跟在group by之后对分组的数据进行过滤。

你可能感兴趣的:(Android)