2018-10-25数据库基础

2018-10-27  本文已影响0人  凡星点点5

模糊查询 like

10 学生姓名 包含 马
10 SELECT * FROM gy_user WHERE realname LIKE '%马%';
11 学生姓名以吴开头
11 SELECT * FROM gy_user WHERE realname LIKE '吴%';
12 学生姓名包含 李
12 SELECT * FROM gy_user WHERE realname LIKE '%李%';
13 姓名包含静的学生
13 SELECT * FROM gy_user WHERE realname LIKE '%静%';
14 姓名是两个字符的学生
14 SELECT * FROM gy_user WHERE realname LIKE '';
15 姓名最后一位 是民的学生
15 SELECT * FROM gy_user WHERE realname LIKE '%民';
16 姓名第二位为 春的学生姓名
16 SELECT * FROM gy_user WHERE realname LIKE '
春%';
17 姓名只有三个字符的学生
17 SELECT * FROM gy_user WHERE realname LIKE '
__';
18 姓名是 马什么梅的
18 SELECT * FROM gy_user WHERE realname LIKE '马%梅';
19 姓名是 马东什么
19 SELECT * FROM gy_user WHERE realname LIKE '马东%';
20 姓名是 什么冬梅
20 SELECT * FROM gy_user WHERE realname LIKE '%冬梅';
24 姓名 不包含 什么康健
24 SELECT * FROM gy_user WHERE sname NOT LIKE ('%康健');
26 导师不包含 李什么
26 SELECT * FROM gy_user WHERE teacher NOT LIKE ('李%');
28 查询 公司名称 包含上海 或者地址在上海的
28 SELECT * FROM gy_user WHERE NAME LIKE'%上海%' OR address LIKE '%上海%';
29 查询 公司名称 包含阿里 地址在 上海金融中心的
29 SELECT * FROM gy_user WHERE NAME LIKE '%阿里%' AND address LIKE '%上海金融中心%';

14245353-c39d1ef625f7711e.png

null的使用

SELECT * FROM gy_user WHERE sname IS NULL ; -- 为空
SELECT * FROM gy_user WHERE sname IS NOT NULL; -- 不为空

in的使用

同一个字段有多个筛选条件,每个条件都需要用英文的逗号分隔开
SELECT * FROM 表名 WHERE 条件 IN (值1,值2,值3);


14245353-1c45a9dee7a6861c.png
14245353-ac412421a722111a.png

排序 order by

limit的使用

只能在mysql里面使用,oracle数据库中用 rownum,sqlSever数据中用top
限制限制条目数量
查询结果是以 0 为起始序号
格式 select * from 表名 limit n,m; (n表示起始位置,m表示展现m条数据)

14245353-092fdcb05b7b703b.png
-- 限制条目数
SELECT sno FROM gy_user WHERE sno>50 LIMIT 10,100;

去重 distinct

分组 group by

-- 求每一个班级的总年龄
SELECT SUM(age),class_type FROM gy_user GROUP BY class_type;
-- 求每一个班级的平均年龄
SELECT AVG(age),class_type FROM gy_user GROUP BY class_type;
-- 求每一个学历的最大年龄
SELECT MAX(age),education FROM gy_user GROUP BY education;
-- 求每一个学历的平均年龄
SELECT AVG(age),education FROM gy_user GROUP BY education;
-- 查询班级最大年龄大于32的班级
SELECT class_type,MAX(age) FROMgy_user GROUP BY class_type HAVING MAX(age)>32;
-- 查询各班级中平均年龄大于25的班级
SELECT class_type,AVG(age)FROM gy_user GROUP BY class_type HAVING AVG(age)>20;
-- 查询不同学历的各自人数
SELECT education ,COUNT(sno) FROM gy_user GROUP BY education;
-- 查询不同学历 最小年龄 小于30的学历
SELECT education ,MIN(age) FROM gy_user GROUP BY education HAVING MIN(age)<30;
-- 查询班级中平均年龄大于20的班级
SELECT class_type,AVG(age) FROM gy_user GROUP BY class_type HAVING AVG(age)>20;
-- 查询各班级中最小年龄大于2的班级
SELECT class_type,MIN(age) FROM gy_user GROUP BY class_type HAVING MIN(age)>2;
-- 查询各班级中平均年龄小于23的班级
SELECT class_type,AVG(age) FROM gy_user GROUP BY class_type HAVING AVG(age)<23;
-- 查询各班级中 年龄总和小于500的班级
SELECT class_type,SUM(age) FROM gy_user GROUP BY class_type HAVING SUM(age)<500;

14245353-a79684f8fca4719a.png
14245353-7ed08adbda42a9b0.png
上一篇下一篇

猜你喜欢

热点阅读