简单处理查询结果

考试分数(五)

https://www.nowcoder.com/practice/b626ff9e2ad04789954c2132c74c0513

简单处理查询结果

前面章节中的SELECT 语句都是返回所有匹配的行。但是如果你想对结果进行简单处理,你应该怎么办呢?

1. 查询结果的过滤

使用 WHERE 子句可以根据条件过滤查询结果。

语法:

SELECT column1, column2, ...
FROM table_name
WHERE condition;
  • condition:限制条件。

2. 查询结果的排序

使用 ORDER BY 子句可以根据指定的列对查询结果进行排序。

语法:

SELECT column1, column2, ...
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;
  • column1 [ASC|DESC]:按照column1 [升序|降序]进行排序,若不加ASC或者DESC则默认升序。

3. 查询结果的去重

使用 DISTINCT 关键字可以去除查询结果中的重复行。

语法:

SELECT DISTINCT column1, column2, ...
FROM table_name;
  • column1, column2, ...列中的重复行进行去除。

4. 查询结果的限制

在某些数据库系统中,可以使用 LIMIT 子句限制查询结果的行数。

语法:

SELECT column1, column2, ...
FROM table_name
LIMIT n;
  • 限制输出n行。

示例

假设 employees 表的数据如下:

employee_id first_name last_name salary department_id
1 Alice Smith 60000 101
2 Bob Johnson 70000 101
3 Charlie Brown 50000 102
4 David Davis 80000 102
5 Eve White 90000 103

查询结果的过滤

查询 employees 表中工资大于 60000 的员工。

SELECT * 
FROM employees
WHERE salary > 60000;

结果:

employee_id first_name last_name salary department_id
2 Bob Johnson 70000 101
4 David Davis 80000 102
5 Eve White 90000 103

查询结果的排序

查询 employees 表中的所有员工,并按工资降序排序。

SELECT * 
FROM employees
ORDER BY salary DESC;

结果:

employee_id first_name last_name salary department_id
5 Eve White 90000 103
4 David Davis 80000 102
2 Bob Johnson 70000 101
1 Alice Smith 60000 101
3 Charlie Brown 50000 102

查询结果的去重

查询 employees 表中所有(不重复)的部门 ID。

SELECT DISTINCT department_id 
FROM employees;

结果:

department_id
101
102
103

查询结果的限制

查询 employees 表中工资最高的 3 名员工。

SELECT * 
FROM employees
ORDER BY salary DESC
LIMIT 3;
  • 把工资降序排序,然后输出前三个。

结果:

employee_id first_name last_name salary department_id
5 Eve White 90000 103
4 David Davis 80000 102
2 Bob Johnson 70000 101
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务