近日,【数据库SQL习题整理】引发关注。在学习数据库的过程中,SQL(Structured Query Language)是必不可少的工具。为了帮助大家更好地掌握SQL语句的使用,本文整理了常见的SQL练习题及答案,以加表格的形式呈现,便于复习与查阅。
一、SQL基础查询
1. 查询所有字段
题目: 查询员工表(employee)中所有员工的信息。
答案:
```sql
SELECT FROM employee;
```
2. 查询指定字段
题目: 查询员工表中员工姓名和部门编号。
答案:
```sql
SELECT name, department_id FROM employee;
```
3. 条件查询
题目: 查询工资高于5000的员工信息。
答案:
```sql
SELECT FROM employee WHERE salary > 5000;
```
4. 排序查询
题目: 按照工资从高到低排列员工信息。
答案:
```sql
SELECT FROM employee ORDER BY salary DESC;
```
二、SQL聚合函数
1. 计算总和
题目: 计算员工表中所有员工的工资总和。
答案:
```sql
SELECT SUM(salary) AS total_salary FROM employee;
```
2. 计算平均值
题目: 计算员工表中工资的平均值。
答案:
```sql
SELECT AVG(salary) AS avg_salary FROM employee;
```
3. 计算最大/最小值
题目: 查询工资最高的员工信息。
答案:
```sql
SELECT FROM employee WHERE salary = (SELECT MAX(salary) FROM employee);
```
4. 统计数量
题目: 统计员工表中员工的数量。
答案:
```sql
SELECT COUNT() AS total_employees FROM employee;
```
三、SQL连接查询
1. 内连接(INNER JOIN)
题目: 查询员工及其所属部门名称。
答案:
```sql
SELECT e.name, d.department_name
FROM employee e
INNER JOIN department d ON e.department_id = d.id;
```
2. 左连接(LEFT JOIN)
题目: 查询所有员工及其所属部门名称,包括没有部门的员工。
答案:
```sql
SELECT e.name, d.department_name
FROM employee e
LEFT JOIN department d ON e.department_id = d.id;
```
3. 右连接(RIGHT JOIN)
题目: 查询所有部门及其所属员工,包括没有员工的部门。
答案:
```sql
SELECT d.department_name, e.name
FROM department d
RIGHT JOIN employee e ON d.id = e.department_id;
```
四、SQL子查询与分组
1. 子查询
题目: 查询工资高于平均工资的员工信息。
答案:
```sql
SELECT FROM employee
WHERE salary > (SELECT AVG(salary) FROM employee);
```
2. 分组统计
题目: 按部门统计员工人数。
答案:
```sql
SELECT department_id, COUNT() AS employee_count
FROM employee
GROUP BY department_id;
```
3. 分组条件筛选
题目: 查询员工人数大于5的部门。
答案:
```sql
SELECT department_id, COUNT() AS employee_count
FROM employee
GROUP BY department_id
HAVING COUNT() > 5;
```
五、常见SQL语句汇总表
| 题目类型 | SQL语句示例 | 功能说明 |
| 查询所有字段 | `SELECT FROM table;` | 获取表中所有记录 |
| 查询指定字段 | `SELECT column1, column2 FROM table;` | 获取指定列的数据 |
| 条件查询 | `SELECT FROM table WHERE condition;` | 根据条件筛选数据 |
| 排序查询 | `SELECT FROM table ORDER BY column;` | 对结果进行排序 |
| 聚合函数 | `SELECT SUM(column) FROM table;` | 进行数学计算 |
| 内连接 | `SELECT FROM table1 INNER JOIN table2 ON ...;` | 合并两个表的数据 |
| 左连接 | `SELECT FROM table1 LEFT JOIN table2 ON ...;` | 包含左表所有记录 |
| 子查询 | `SELECT FROM table WHERE column = (SELECT ...);` | 在查询中嵌套另一个查询 |
| 分组统计 | `SELECT column, COUNT() FROM table GROUP BY column;` | 按列分组并统计 |
通过以上整理,可以帮助你系统地复习SQL的基本语法和常用操作。建议多做实际练习,加深对SQL的理解和应用能力。
以上就是【数据库SQL习题整理】相关内容,希望对您有所帮助。


