表t_student

1.查找所有性别为F删除标识为0的同学
SELECT * FROM t_student WHERE sex = 'F' and delete_flag = 0;
2.查找学号在2300到2400并且删除表识为0的同学
--方法一
SELECT * FROM t_student WHERE student_id > 2300 and student_id < 2400 and delete_flag = 0;
--方法二
SELECT * FROM t_student WHERE student_id between 2300 and 2400 and delete_flag = 0;
3.查找姓李的同学
SELECT * FROM t_student WHERE student_name like '李%';
%匹配任意字符
4.查找姓李或者姓王的同学
--方法一
SELECT * FROM t_student WHERE student_name like '李%' or student_name like '王%';
--方法二(先李后王)
SELECT * FROM t_student WHERE student_name like '李%'
UNION
SELECT * FROM t_student WHERE student_name like '王%';
5.查找名叫“安琪”的同学
SELECT * FROM t_student WHERE student_name = '_安琪';
_匹配一个字符
6.查询男生和女生各有多少人
SELCET COUNT(*) , sex FROM t_student GROUP BY sex;
COUNT()(计数)聚合函数
GROUP BY 分组查询
7.查询不同性别中最大的学生id
SELCET MAX(student_id) , sex FROM t_student GROUP BY sex;
MAX()(最大值)聚合函数
GROUP BY 分组查询
8.查询t_student表,按student_id正序排列,student_id相同时按id倒序排列
SELECT * FROM t_student ORDER BY student_id asc , id desc;
asc 正序(默认,可省略)
desc 倒序
多字段排序时,先按第一个字段排序,相同值时按第二个字段排序,以此类推
9.
SELECT
COUNT(1) AS c, -- 统计每个student_id出现的次数,COUNT(1)命名c
student_id
FROM
t_student
GROUP BY
student_id -- 按student_id分组
HAVING
c > 1 -- 只保留出现次数>1的分组
ORDER BY
c desc -- 按出现次数从高到低排序
HAVING 用于筛选分组后的聚合结果

被折叠的 条评论
为什么被折叠?



