- 1
- 0
- 约1.26万字
- 约 10页
- 2026-02-26 发布于山西
- 举报
2025年软考数据库系统工程师SQL练习题及答案
考试时间:______分钟总分:______分姓名:______
一、
假设有一个名为`Employees`的表,包含以下列:`EmployeeID`(整数,主键),`FirstName`(字符串),`LastName`(字符串),`DepartmentID`(整数),`Salary`(浮点数),`HireDate`(日期)。请写出以下查询的SQL语句:
1.查询所有员工的`FirstName`和`LastName`。
2.查询`Salary`超过8000的所有员工信息(包含所有列)。
3.查询`DepartmentID`为5的所有员工的`EmployeeID`和`LastName`。
4.查询每个部门的平均`Salary`,结果列名为`DepartmentID`和`AverageSalary`。
二、
假设存在两个表:`Orders`(订单表)和`OrderDetails`(订单明细表)。`Orders`表有`OrderID`(整数,主键),`OrderDate`(日期),`CustomerID`(整数)。`OrderDetails`表有`OrderDetailID`(整数,主键),`OrderID`(整数,外键关联`Orders`的`OrderID`),`ProductID`(整数),`Quantity`(整数)。请写出以下查询的SQL语句:
5.查询所有订单的`OrderID`和对应的`CustomerID`。
6.查询订单号(`OrderID`)为10250的订单中,每个`ProductID`的`Quantity`。
7.查询订单日期(`OrderDate`)在2023-01-01到2023-12-31之间,并且`Quantity`大于10的所有订单明细信息(包含所有列)。
8.查询每个订单的总金额(假设每个产品的单价存储在`OrderDetails`表的`UnitPrice`列,请使用`Quantity`和`UnitPrice`计算总金额),结果列名为`OrderID`和`TotalAmount`。
三、
使用`Employees`表(见第一题描述)。请写出以下查询的SQL语句:
9.查询`LastName`以Smith结尾的所有员工的`FirstName`和`LastName`。
10.查询入职日期(`HireDate`)在2022-01-01之后的员工数量。
11.查询`DepartmentID`为2或4的所有员工的平均`Salary`,结果列名为`DepartmentGroup`和`AverageSalary`。要求`DepartmentGroup`列显示为Dept2or4。
12.查询至少有3名员工的部门的所有`DepartmentID`。
四、
假设存在一个名为`Products`的表,包含以下列:`ProductID`(整数,主键),`ProductName`(字符串),`CategoryID`(整数),`UnitPrice`(浮点数)。请写出以下查询的SQL语句:
13.查询所有`CategoryID`为1的产品的`ProductName`和`UnitPrice`,结果按`UnitPrice`降序排列。
14.查询`ProductName`中包含Book的所有产品的`ProductID`和`ProductName`。
15.查询`UnitPrice`最低的前5个产品的`ProductID`和`ProductName`。
16.查询`CategoryID`不为2的所有产品的数量。
五、
假设存在一个名为`Customers`的表,包含以下列:`CustomerID`(整数,主键),`CompanyName`(字符串),`ContactName`(字符串),`City`(字符串),`Country`(字符串)。请写出以下查询的SQL语句:
17.查询所有位于Germany的客户的`CustomerID`和`CompanyName`。
18.查询`CompanyName`以C开头或以o结尾的所有客户的`ContactName`和`Country`。
19.查询`City`为London的客户数量,同时要求结果只显示计数(即只返回一个数字)
原创力文档

文档评论(0)