当前位置:实例文章 » 其他实例» [文章]数分面试题-SQL常见面试题型1

数分面试题-SQL常见面试题型1

发布人:shili8 发布时间:2025-02-26 01:11 阅读次数:0

**SQL 常见面试题型1**

作为一名数据分析师或开发者,掌握 SQL 是非常重要的技能之一。以下是一些常见的 SQL 面试题,涵盖了各种类型的问题。

###问题1:基本查询假设有一个 `employees` 表格,包含员工信息,如下所示:

| id | name | age |
| --- | --- | --- |
|1 | John |25 |
|2 | Alice |30 |
|3 | Bob |35 |

**问题:** 使用 SQL 查询出所有员工的姓名和年龄。

**答案:**

sqlSELECT name, age FROM employees;


###问题2:过滤数据假设有一个 `orders` 表格,包含订单信息,如下所示:

| id | customer_id | order_date |
| --- | --- | --- |
|1 |1 |2020-01-01 |
|2 |2 |2020-02-01 |
|3 |1 |2020-03-01 |

**问题:** 使用 SQL 查询出在2020 年2 月份下单的订单。

**答案:**

sqlSELECT * FROM orders WHERE order_date = '2020-02-01';


###问题3:排序和分组假设有一个 `sales` 表格,包含销售数据,如下所示:

| id | product_id | sales_amount |
| --- | --- | --- |
|1 |1 |100 |
|2 |2 |200 |
|3 |1 |300 |

**问题:** 使用 SQL 查询出每个产品的销售额,按降序排序。

**答案:**

sqlSELECT product_id, sales_amount FROM sales GROUP BY product_id ORDER BY sales_amount DESC;


###问题4:连接表假设有两个表格 `employees` 和 `departments`,包含员工信息和部门信息,如下所示:

**employees**

| id | name | age |
| --- | --- | --- |
|1 | John |25 |
|2 | Alice |30 |

**departments**

| id | department_name |
| --- | --- |
|1 | Sales |
|2 | Marketing |

**问题:** 使用 SQL 查询出每个员工的部门名称。

**答案:**

sqlSELECT e.name, d.department_name FROM employees e JOIN departments d ON e.id = d.id;


###问题5:子查询假设有一个 `orders` 表格,包含订单信息,如下所示:

| id | customer_id | order_date |
| --- | --- | --- |
|1 |1 |2020-01-01 |
|2 |2 |2020-02-01 |
|3 |1 |2020-03-01 |

**问题:** 使用 SQL 查询出所有在2020 年2 月份下单的订单,以及这些订单对应的客户名称。

**答案:**

sqlSELECT * FROM orders WHERE id IN (SELECT id FROM orders WHERE order_date = '2020-02-01');


###问题6:窗口函数假设有一个 `sales` 表格,包含销售数据,如下所示:

| id | product_id | sales_amount |
| --- | --- | --- |
|1 |1 |100 |
|2 |2 |200 |
|3 |1 |300 |

**问题:** 使用 SQL 查询出每个产品的销售额,按降序排序,并显示每个产品的排名。

**答案:**

sqlSELECT product_id, sales_amount, ROW_NUMBER() OVER (PARTITION BY product_id ORDER BY sales_amount DESC) AS rank FROM sales;


以上就是一些常见的 SQL 面试题。这些问题涵盖了基本查询、过滤数据、排序和分组、连接表、子查询和窗口函数等方面。通过回答这些问题,你可以展示你的 SQL 技能,并为面试官留下深刻印象。

其他信息

其他资源

Top