内容正文:
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第61卷,为专题训练卷,按“查询”专题范围和要求编写。具体内容为:(1)了解查询的概念。(2)掌握查询条件表达式的表示方法;(3)理解使用查询向导创建查询。(4)掌握使用查询设计视图创建简单查询;(5)掌握参数查询、计算查询和汇总查询。(6)掌握更新查询、追加查询、删除查询和生成表查询。(7)掌握SQL查询的应用。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第61卷 专题训练——查询
(考试时间:45分钟 满分:100分)
一、选择题(共25题,每题2分,共50分)
1.在Access中,需要按条件查看多个数据表中的有关记录时,通常使用( )
A.查询对象
B.字段属性
C.数据宏
D.报表页眉
2.在查询设计网格中,勾选某字段的“显示”项,主要决定( )
A.是否设置为主键
B.是否执行求和
C.是否删除该字段
D.是否显示该字段
3.在设计视图中为“单价”字段输入>100,主要表示( )
A.单价超过100
B.单价改成100
C.单价自动求和
D.单价为空删除
4.条件表达式中的<>通常表示( )
A.小于或等于
B.大于或等于
C.不等于
D.等于
5.查询库存量不少于10件的商品,Stock字段条件应为( )
A.库存不少于10
B.库存低于10
C.库存等于10
D.库存不等于10
6.只查办公用品且库存大于0的商品,应使用( )
A.Category='办公用品' OR Stock>0
B.Category='办公用品' AND Stock>0
C.Category<>'办公用品' AND Stock>0
D.Category='办公用品' AND Stock<0
7.要查看状态为“在岗”或“借调”的员工,条件逻辑应使用( )
A.AND
B.NOT
C.BETWEEN
D.OR
8.筛选书名中包含“数据”两个字的记录,较合适的条件是( )
A.BookName包含数据
B.BookName以数据开头
C.BookName等于数据标记
D.BookName大于数据标记
9.筛选商品编码以A开头的记录,较合适的条件是( )
A.Code Like '*A'
B.Code Like 'A*'
C.Code Like '?A?'
D.Code = '#A#'
10.在Access通配符中,问号?通常表示( )
A.任意长度的字符序列
B.任意一个字符
C.任意一个字段
D.任意一个空值
11.条件Amount Between 500 And 800通常筛选( )
A.金额低于500或高于800
B.金额只等于两个端点
C.金额在500至800含端点
D.金额按两个端点排序
12.若要筛选尚未填写结束日期的任务,EndDate字段应使用( )
A.日期为0
B.日期没有值
C.日期为空文本
D.日期不为0
13.若只显示已经填写结束日期的任务,条件应为( )
A.日期为空
B.日期无值
C.日期有值
D.日期为0
14.条件Dept='财务部'中的“财务部”属于( )
A.日期值
B.字段名
C.文本值
D.逻辑符
15.条件Quantity>=20中的20属于( )
A.文本常量
B.日期常量
C.通配符
D.数值常量
16.Access查询条件中的日期值通常写成( )
A.'2026-05-01'
B.[2026-05-01]
C.#2026-05-01#
D.(2026-05-01)
17.在查询设计网格中,同一条件行的多个字段通常表示( )
A.这些条件任选其一
B.只执行第一个字段
C.这些条件同时成立
D.字段自动建立索引
18.在查询设计网格中,同一字段的条件写在不同条件行,通常表示( )
A.所有条件同时成立
B.条件全部失效
C.记录按条件自动删除
D.任一条件成立即可
19.若查询要求“销售部且工资不低于8000,或者技术部且工资不低于10000”,应重点使用( )
A.分组后组合条件
B.只用AND连接
C.只用OR连接
D.删部门留工资
20.未设置条件的选择查询,通常会( )
A.删除数据源中的全部记录
B.返回数据源中的全部记录
C.只返回空值记录
D.自动关闭数据表
21.条件Dept = '财务部' And Salary >= 8000表示( )
A.财务部或工资低于8000
B.财务部且工资低于8000
C.工资恰好等于财务部
D.财务部且工资至少8000
22.筛选姓名中包含“林”的记录,Like条件可写为( )
A.Name Like '*林*'
B.Name Like '林?'
C.Name = '*林*'
D.Name Between '*林*'
23.若EndDate字段没有填写日期,条件应使用( )
A.EndDate Is Null
B.EndDate = 0
C.EndDate = ''
D.EndDate Not Null
24.条件表达式中的>=表示( )
A.小于或等于
B.大于或等于
C.不等于
D.只等于
25.同一字段的两个条件分别写在查询设计网格的不同条件行,通常表示( )
A.两个条件必须同时满足
B.删除该字段
C.只显示字段名称
D.满足其中一个条件即可
二、简答题(共5题,每题6分,共30分)
1.阅读下面的员工数据和查询,写出返回结果并指出括号的必要性。
CREATE TABLE Employees (
EmployeeName TEXT(20),
Dept TEXT(20),
Salary DOUBLE,
LeaveDate DATETIME
);
INSERT INTO Employees VALUES ('林晓', '财务部', 8200, NULL);
INSERT INTO Employees VALUES ('陈宇', '财务部', 7600, NULL);
INSERT INTO Employees VALUES ('吴涛', '技术部', 9800, NULL);
INSERT INTO Employees VALUES ('赵安', '技术部', 10500, #2026-05-01#);
SELECT EmployeeName, Salary
FROM Employees
WHERE (Dept = '财务部' AND Salary >= 8000)
OR (Dept = '技术部' AND Salary >= 10000)
AND LeaveDate Is Null;
按Access中AND优先于OR的规则写出实际返回结果,并说明若要求两组都排除离职员工应怎样修改。
括号决定逻辑条件的组合范围;没有括号时,AND优先计算,可能使离职记录绕过共同条件。
2.根据下面的商品表和查询目标补写条件表达式。
CREATE TABLE Products (
ProductID TEXT(10),
ProductName TEXT(30),
Category TEXT(20),
Stock INTEGER,
Price DOUBLE
);
SELECT ProductID, ProductName, Price
FROM Products
WHERE ______________________________
ORDER BY Price DESC;
目标:名称包含“数据”,类别为办公用品或教材,库存不少于5且价格低于800。
条件表达式应覆盖全部业务要求;文本用引号,数值直接比较,多个可选类别用OR表示。
3.阅读下面的任务表和SQL语句,说明空值判断结果。
CREATE TABLE Tasks (
TaskID TEXT(10),
TaskName TEXT(30),
Status TEXT(10),
EndDate DATETIME
);
INSERT INTO Tasks VALUES ('T01', '建表', '完成', #2026-03-01#);
INSERT INTO Tasks VALUES ('T02', '查询', '进行中', NULL);
INSERT INTO Tasks VALUES ('T03', '窗体', '待开始', NULL);
SELECT TaskID, TaskName
FROM Tasks
WHERE Status <> '完成' AND EndDate Is Null;
写出查询结果,并说明为什么不能用EndDate = ''代替IS NULL。
NULL表示未知或未填写,不等同于空字符串、0或某个日期;空值判断必须使用IS NULL或IS NOT NULL。
4.阅读下面的订单查询,说明范围、空值和排序条件。
CREATE TABLE Orders (
OrderID TEXT(10),
CustomerName TEXT(20),
Amount DOUBLE,
PayDate DATETIME
);
SELECT OrderID, CustomerName, Amount
FROM Orders
WHERE Amount Between 500 And 800
AND PayDate Is Null
ORDER BY Amount DESC;
说明该查询保留的订单范围,以及结果的排序方向。
Between用于闭区间筛选,IS NULL判断尚未付款,DESC表示降序。
5.根据下面的部门工资表,写出能够实现目标的完整查询条件。
CREATE TABLE Employees (
EmployeeID TEXT(10),
EmployeeName TEXT(20),
Dept TEXT(20),
Salary DOUBLE,
Active YESNO
);
SELECT EmployeeName, Dept, Salary
FROM Employees
WHERE ______________________________
ORDER BY Dept ASC, Salary DESC;
目标:查询销售部或技术部中工资不低于8000且Active为True的员工。
多个排序字段从左到右决定优先级;条件表达式中的True对应YESNO字段的真值。
三、案例分析题(共1题,共10分)
1.某公司要求查询销售部或技术部中工资不低于9000且仍在职的员工,下面的查询条件不完整。请修正。
SELECT EmployeeName, Dept, Salary
FROM Employees
WHERE (Dept = '销售部' OR Dept = '技术部')
AND Salary >= 9000
AND LeaveDate Is Null
ORDER BY Dept ASC, Salary DESC;
结果为陈宇和吴涛;括号使两个部门共同受工资和在职条件限制,IS NULL排除已填写离职日期的员工。
四、综合应用题(共1题,共10分)
1.建立员工查询数据库,综合使用括号、AND、OR、IS NULL、比较条件和多字段排序。
CREATE TABLE Employees (
EmployeeID TEXT(10) PRIMARY KEY,
EmployeeName TEXT(20) NOT NULL,
Dept TEXT(20) NOT NULL,
Salary DOUBLE,
Status TEXT(10) NOT NULL
);
INSERT INTO Employees VALUES ('E01', '林晓', '销售部', 8600, '在职');
INSERT INTO Employees VALUES ('E02', '陈宇', '销售部', 7600, '在职');
INSERT INTO Employees VALUES ('E03', '吴涛', '技术部', 9800, '在职');
INSERT INTO Employees VALUES ('E04', '赵安', '技术部', 10500, '离职');
INSERT INTO Employees VALUES ('E05', '周宁', '财务部', 8800, '在职');
SELECT EmployeeName, Dept, Salary, Status
FROM Employees
WHERE (Dept = '销售部' OR Dept = '技术部')
AND Salary >= 8000
AND Status = '在职'
ORDER BY Dept ASC, Salary DESC;
结果为林晓和吴涛;括号先组合部门范围,AND统一限制工资和在职状态,ORDER BY先按部门升序再按工资降序。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版山东省春季高考统一考试软件与应用技术类《考纲百套卷》,依据《软件与应用技术类专业知识考试标准》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共85份试卷,其中知识训练卷48份、专题训练卷25份、课程综合卷12份。
本试卷是第61卷,为专题训练卷,按“查询”专题范围和要求编写。具体内容为:(1)了解查询的概念。(2)掌握查询条件表达式的表示方法;(3)理解使用查询向导创建查询。(4)掌握使用查询设计视图创建简单查询;(5)掌握参数查询、计算查询和汇总查询。(6)掌握更新查询、追加查询、删除查询和生成表查询。(7)掌握SQL查询的应用。
山东省春季高考统一考试
软件与应用技术类《考纲百套卷》
第61卷 专题训练——查询
(考试时间:45分钟 满分:100分)
一、选择题(共25题,每题2分,共50分)
1.在Access中,需要按条件查看多个数据表中的有关记录时,通常使用( )
A.查询对象
B.字段属性
C.数据宏
D.报表页眉
【答案】A
【解析】查询对象用于从表或其他查询中选择、筛选和组织需要的数据,适合完成按条件查看记录的任务。
2.在查询设计网格中,勾选某字段的“显示”项,主要决定( )
A.是否设置为主键
B.是否执行求和
C.是否删除该字段
D.是否显示该字段
【答案】D
【解析】显示项控制字段是否在查询结果中呈现,不等同于设置主键或修改源表结构。
3.在设计视图中为“单价”字段输入>100,主要表示( )
A.单价超过100
B.单价改成100
C.单价自动求和
D.单价为空删除
【答案】A
【解析】>100是比较条件,用于保留单价大于100的记录,不会直接修改源表中的单价。
4.条件表达式中的<>通常表示( )
A.小于或等于
B.大于或等于
C.不等于
D.等于
【答案】C
【解析】<>表示不等于,例如Status <> '停用'可筛选状态不是停用的记录。
5.查询库存量不少于10件的商品,Stock字段条件应为( )
A.库存不少于10
B.库存低于10
C.库存等于10
D.库存不等于10
【答案】A
【解析】不少于10表示大于或等于10,应使用Stock >= 10。
6.只查办公用品且库存大于0的商品,应使用( )
A.Category='办公用品' OR Stock>0
B.Category='办公用品' AND Stock>0
C.Category<>'办公用品' AND Stock>0
D.Category='办公用品' AND Stock<0
【答案】B
【解析】类别和库存两个限制都必须满足,应使用AND连接两个条件。
7.要查看状态为“在岗”或“借调”的员工,条件逻辑应使用( )
A.AND
B.NOT
C.BETWEEN
D.OR
【答案】D
【解析】员工状态只要满足两个状态中的一个即可,应使用OR表示选择关系。
8.筛选书名中包含“数据”两个字的记录,较合适的条件是( )
A.BookName包含数据
B.BookName以数据开头
C.BookName等于数据标记
D.BookName大于数据标记
【答案】A
【解析】两侧的*表示前后可以有任意长度字符,'*数据*'可匹配包含“数据”的书名。
9.筛选商品编码以A开头的记录,较合适的条件是( )
A.Code Like '*A'
B.Code Like 'A*'
C.Code Like '?A?'
D.Code = '#A#'
【答案】B
【解析】A*表示以A开头、后面跟任意长度字符的编码。
10.在Access通配符中,问号?通常表示( )
A.任意长度的字符序列
B.任意一个字符
C.任意一个字段
D.任意一个空值
【答案】B
【解析】在常用Access通配符中,?表示一个任意字符,*表示任意长度的字符序列。
11.条件Amount Between 500 And 800通常筛选( )
A.金额低于500或高于800
B.金额只等于两个端点
C.金额在500至800含端点
D.金额按两个端点排序
【答案】C
【解析】Between...And...用于判断范围,通常包括500和800两个边界值。
12.若要筛选尚未填写结束日期的任务,EndDate字段应使用( )
A.日期为0
B.日期没有值
C.日期为空文本
D.日期不为0
【答案】B
【解析】没有填写日期表示字段为空值,应使用IS NULL判断,而不能把空值当作0。
13.若只显示已经填写结束日期的任务,条件应为( )
A.日期为空
B.日期无值
C.日期有值
D.日期为0
【答案】C
【解析】IS NOT NULL用于筛选字段中存在值的记录。
14.条件Dept='财务部'中的“财务部”属于( )
A.日期值
B.字段名
C.文本值
D.逻辑符
【答案】C
【解析】财务部是用于比较的文本值,文本条件通常放在单引号中。
15.条件Quantity>=20中的20属于( )
A.文本常量
B.日期常量
C.通配符
D.数值常量
【答案】D
【解析】20是直接参与数值比较的数值常量,不需要使用文本引号。
16.Access查询条件中的日期值通常写成( )
A.'2026-05-01'
B.[2026-05-01]
C.#2026-05-01#
D.(2026-05-01)
【答案】C
【解析】Access SQL中日期/时间常量通常使用井号界定,例如#2026-05-01#。
17.在查询设计网格中,同一条件行的多个字段通常表示( )
A.这些条件任选其一
B.只执行第一个字段
C.这些条件同时成立
D.字段自动建立索引
【答案】C
【解析】同一条件行中的多个字段限制需要同时满足,逻辑上相当于AND。
18.在查询设计网格中,同一字段的条件写在不同条件行,通常表示( )
A.所有条件同时成立
B.条件全部失效
C.记录按条件自动删除
D.任一条件成立即可
【答案】D
【解析】同一字段不同条件行通常表示满足其中任一行即可,逻辑上相当于OR。
19.若查询要求“销售部且工资不低于8000,或者技术部且工资不低于10000”,应重点使用( )
A.分组后组合条件
B.只用AND连接
C.只用OR连接
D.删部门留工资
【答案】A
【解析】应先用括号分别组合两组部门与工资条件,再用OR连接两组结果,避免AND与OR混合时产生歧义。
20.未设置条件的选择查询,通常会( )
A.删除数据源中的全部记录
B.返回数据源中的全部记录
C.只返回空值记录
D.自动关闭数据表
【答案】B
【解析】选择查询没有条件时,会返回数据源中的全部记录,但仍可只显示选定字段。
21.条件Dept = '财务部' And Salary >= 8000表示( )
A.财务部或工资低于8000
B.财务部且工资低于8000
C.工资恰好等于财务部
D.财务部且工资至少8000
【答案】D
【解析】AND要求两个条件同时成立,故需同时满足部门和工资条件。
22.筛选姓名中包含“林”的记录,Like条件可写为( )
A.Name Like '*林*'
B.Name Like '林?'
C.Name = '*林*'
D.Name Between '*林*'
【答案】A
【解析】两侧星号表示“林”前后可以有任意个字符。
23.若EndDate字段没有填写日期,条件应使用( )
A.EndDate Is Null
B.EndDate = 0
C.EndDate = ''
D.EndDate Not Null
【答案】A
【解析】日期字段为空应使用IS NULL判断,不能用数值0代替。
24.条件表达式中的>=表示( )
A.小于或等于
B.大于或等于
C.不等于
D.只等于
【答案】B
【解析】>=同时包含大于和等于两种情况。
25.同一字段的两个条件分别写在查询设计网格的不同条件行,通常表示( )
A.两个条件必须同时满足
B.删除该字段
C.只显示字段名称
D.满足其中一个条件即可
【答案】D
【解析】不同条件行通常形成OR关系,记录满足任一行条件即可保留。
二、简答题(共5题,每题6分,共30分)
1.阅读下面的员工数据和查询,写出返回结果并指出括号的必要性。
CREATE TABLE Employees (
EmployeeName TEXT(20),
Dept TEXT(20),
Salary DOUBLE,
LeaveDate DATETIME
);
INSERT INTO Employees VALUES ('林晓', '财务部', 8200, NULL);
INSERT INTO Employees VALUES ('陈宇', '财务部', 7600, NULL);
INSERT INTO Employees VALUES ('吴涛', '技术部', 9800, NULL);
INSERT INTO Employees VALUES ('赵安', '技术部', 10500, #2026-05-01#);
SELECT EmployeeName, Salary
FROM Employees
WHERE (Dept = '财务部' AND Salary >= 8000)
OR (Dept = '技术部' AND Salary >= 10000)
AND LeaveDate Is Null;
按Access中AND优先于OR的规则写出实际返回结果,并说明若要求两组都排除离职员工应怎样修改。
【答案】
1) 原 SQL 实际返回记录:(' 林晓 ', 8200)
2) 满足 “两组人员均排除离职员工” 的 WHERE 修改语句:((Dept = ' 财务部 ' AND Salary >= 8000) OR (Dept = ' 技术部 ' AND Salary >= 10000)) AND LeaveDate Is Null
【解析】
Access 逻辑优先级 AND 高于 OR,原条件等价于:
(财务部且薪资≥8000) OR [(技术部且薪资≥10000) 且 未离职]
逐条校验数据:
林晓:财务部、工资 8200≥8000,满足 OR 左侧条件,匹配;
陈宇:财务部工资 7600 不足 8000,不匹配;
吴涛:技术部工资 9800 不足 10000,不匹配;
赵安:技术部工资达标,但有离职日期,不满足未离职条件,不匹配;
最终只返回林晓。
原语句缺陷:仅技术部人员限制未离职,财务部高薪员工不判断离职状态,会查出已离职财务部高薪人员。
修改思路:给两个部门条件整体加一层括号,将两组薪资条件合并为整体,再统一 AND LeaveDate Is Null,财务部、技术部两类人员都强制要求未离职。
2.根据下面的商品表和查询目标补写条件表达式。
CREATE TABLE Products (
ProductID TEXT(10),
ProductName TEXT(30),
Category TEXT(20),
Stock INTEGER,
Price DOUBLE
);
SELECT ProductID, ProductName, Price
FROM Products
WHERE ______________________________
ORDER BY Price DESC;
目标:名称包含“数据”,类别为办公用品或教材,库存不少于5且价格低于800。
【答案】
ProductName Like '*数据*'
AND (Category = '办公用品' OR Category = '教材')
AND Stock >= 5
AND Price < 800
LIKE处理文本包含关系,括号组合类别条件,AND连接库存和价格限制。
条件表达式应覆盖全部业务要求;文本用引号,数值直接比较,多个可选类别用OR表示。
3.阅读下面的任务表和SQL语句,说明空值判断结果。
CREATE TABLE Tasks (
TaskID TEXT(10),
TaskName TEXT(30),
Status TEXT(10),
EndDate DATETIME
);
INSERT INTO Tasks VALUES ('T01', '建表', '完成', #2026-03-01#);
INSERT INTO Tasks VALUES ('T02', '查询', '进行中', NULL);
INSERT INTO Tasks VALUES ('T03', '窗体', '待开始', NULL);
SELECT TaskID, TaskName
FROM Tasks
WHERE Status <> '完成' AND EndDate Is Null;
写出查询结果,并说明为什么不能用EndDate = ''代替IS NULL。
【答案】
结果为T02、查询和T03、窗体;EndDate是日期字段的空值,Access应使用IS NULL判断,空字符串不是日期空值的规范写法。
NULL表示未知或未填写,不等同于空字符串、0或某个日期;空值判断必须使用IS NULL或IS NOT NULL。
4.阅读下面的订单查询,说明范围、空值和排序条件。
CREATE TABLE Orders (
OrderID TEXT(10),
CustomerName TEXT(20),
Amount DOUBLE,
PayDate DATETIME
);
SELECT OrderID, CustomerName, Amount
FROM Orders
WHERE Amount Between 500 And 800
AND PayDate Is Null
ORDER BY Amount DESC;
说明该查询保留的订单范围,以及结果的排序方向。
【答案】
查询保留金额500至800(含边界)且PayDate为空的订单;ORDER BY Amount DESC按金额从高到低排列。
Between用于闭区间筛选,IS NULL判断尚未付款,DESC表示降序。
5.根据下面的部门工资表,写出能够实现目标的完整查询条件。
CREATE TABLE Employees (
EmployeeID TEXT(10),
EmployeeName TEXT(20),
Dept TEXT(20),
Salary DOUBLE,
Active YESNO
);
SELECT EmployeeName, Dept, Salary
FROM Employees
WHERE ______________________________
ORDER BY Dept ASC, Salary DESC;
目标:查询销售部或技术部中工资不低于8000且Active为True的员工。
【答案】
(Dept = '销售部' OR Dept = '技术部')
AND Salary >= 8000
AND Active = True
括号先限定部门范围,AND再同时限制工资和在职状态;排序先按部门升序,再按工资降序。
多个排序字段从左到右决定优先级;条件表达式中的True对应YESNO字段的真值。
三、案例分析题(共1题,共10分)
1.某公司要求查询销售部或技术部中工资不低于9000且仍在职的员工,下面的查询条件不完整。请修正。
【答案】
CREATE TABLE Employees (
EmployeeID TEXT(10),
EmployeeName TEXT(20),
Dept TEXT(20),
Salary DOUBLE,
LeaveDate DATETIME
);
INSERT INTO Employees VALUES ('E01', '林晓', '销售部', 8600, NULL);
INSERT INTO Employees VALUES ('E02', '陈宇', '销售部', 9600, NULL);
INSERT INTO Employees VALUES ('E03', '吴涛', '技术部', 9800, NULL);
INSERT INTO Employees VALUES ('E04', '赵安', '技术部', 10500, #2026-05-01#);
SELECT EmployeeName, Dept, Salary
FROM Employees
WHERE Dept = '销售部' OR Dept = '技术部'
AND Salary >= 9000
AND LeaveDate Is Null;
找出部门条件、工资条件和离职日期条件的组合问题,写出正确SQL,并说明结果应包含哪些员工。
SELECT EmployeeName, Dept, Salary
FROM Employees
WHERE (Dept = '销售部' OR Dept = '技术部')
AND Salary >= 9000
AND LeaveDate Is Null
ORDER BY Dept ASC, Salary DESC;
结果为陈宇和吴涛;括号使两个部门共同受工资和在职条件限制,IS NULL排除已填写离职日期的员工。
四、综合应用题(共1题,共10分)
1.建立员工查询数据库,综合使用括号、AND、OR、IS NULL、比较条件和多字段排序。
【答案】
CREATE TABLE Employees (
EmployeeID TEXT(10),
EmployeeName TEXT(20),
Dept TEXT(20),
Salary DOUBLE,
Status TEXT(10)
);
SELECT EmployeeName, Dept, Salary, Status
FROM Employees
WHERE (Dept = '销售部' OR Dept = '技术部')
AND Salary >= 8000
AND Status = '在职'
ORDER BY Dept ASC, Salary DESC;
员工样例:
E01 林晓 销售部 8600 在职
E02 陈宇 销售部 7600 在职
E03 吴涛 技术部 9800 在职
E04 赵安 技术部 10500 离职
E05 周宁 财务部 8800 在职
任务:
①建立Employees表并录入五条记录;
②查询销售部或技术部;
③限制工资不低于8000;
④只保留仍在职员工;
⑤按部门升序、工资降序排列。
写出完整SELECT,并说明括号、AND、OR、IS NULL或状态条件在查询中的作用。
CREATE TABLE Employees (
EmployeeID TEXT(10) PRIMARY KEY,
EmployeeName TEXT(20) NOT NULL,
Dept TEXT(20) NOT NULL,
Salary DOUBLE,
Status TEXT(10) NOT NULL
);
INSERT INTO Employees VALUES ('E01', '林晓', '销售部', 8600, '在职');
INSERT INTO Employees VALUES ('E02', '陈宇', '销售部', 7600, '在职');
INSERT INTO Employees VALUES ('E03', '吴涛', '技术部', 9800, '在职');
INSERT INTO Employees VALUES ('E04', '赵安', '技术部', 10500, '离职');
INSERT INTO Employees VALUES ('E05', '周宁', '财务部', 8800, '在职');
SELECT EmployeeName, Dept, Salary, Status
FROM Employees
WHERE (Dept = '销售部' OR Dept = '技术部')
AND Salary >= 8000
AND Status = '在职'
ORDER BY Dept ASC, Salary DESC;
结果为林晓和吴涛;括号先组合部门范围,AND统一限制工资和在职状态,ORDER BY先按部门升序再按工资降序。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$