一、需求
0、emp 表的初始数据
1、查询年龄为20,21,22,23岁的员工信息。
SELECT * FROM emp WHERE gender='女'AND age IN(20,21,22,23);
2、查询性别为男,并且年龄在20-40岁(含)以内的姓名为三个字的员工。
SELECT * FROM emp WHERE gender='男' AND age BETWEEN 20 AND 40 AND name LIKE '___';
3、统计员工表中,年龄小于60岁的,男性员工和女性员工的人数。
SELECT gender,COUNT(*) FROM emp WHERE age<60 GROUP BY gender;
4、查询所有年龄小于等于35岁员工的姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同按入职时间降序排序。
SELECT name,age FROM emp WHERE age<=35 ORDER BY age ASC,entrydate DESC;
这里特别注意:分清楚,GROUP BY 和 ORDER BY 的区别,不要弄混淆了,当排序查询时,第一个字段相等时,才进行第二个字段的排序
检验一下
5、查询性别为男,且年龄在20-40岁(含)以内的前5个员工信息,对查询的结果按年龄升序排序,年龄相同按入职时间升序排序。
SELECT * FROM emp WHERE gender='男' AND (age BETWEEN 20 AND 40) ORDER BY age ASC ,entrydate ASC LIMIT 0,5;
这里面写成 LIMIT 5 也行
到此,关于DQL的查询的这篇案例均以结束。