SQL-DQL

一、案例练习

按照需求完成如下DQL语句编写

1.查询年龄为20,21,22,23岁的女性员工信息。

1
2
select * from emp where gender = '女' and age in
(20,21,22,23);

2.查询性别为 男 ,并且年龄在 20~40 岁(含)以内的姓名为三个字的员工。

1
select * from emp where gender = '男' and ( age between 20 and 40 ) and name like '___';

3.统计员工表中,年龄小于60岁的,男性员工和女性员工的人数。

1
select gender, count(*) from emp where age < 60 group by gender;

4.查询所有年龄小于等于35岁的员工的姓名和年龄,并对查询结果按年龄升序排序,如果年龄相同按入职时间降序排序。

1
select name , age from emp where age <=35 order by age asc , entrydate desc;

5.查询性别为男,且年龄在20-48岁(含)以内的前5个员工信息,对查询的结果按年龄升序排序,年龄相同按入职时间升序排序。

1
select * from emp where gender = '男' and age between 20 and 40 order by age asc , entrydate asc limit 5;

二、执行顺序

编写顺序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT
字段列表
FROM
表名列表
WHERE
条件列表
GROUP BY
分组字段列表
HAVING
分组后条件列表
ORDER BY
排列字段列表
LIMIT
分页参数

执行顺序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
FROM
表名列表
WHERE
条件列表
GROUP BY
分组字段列表
HAVING
分组后条件列表
SELECT
字段列表
ORDER BY
排列字段列表
LIMIT
分页参数