计科数据库第二次上机操作--实验二 表的简单查询

一、建数据库和表

1.启动数据库服务软件 Navicat

2.在 Navicat 中建立数据库 test

  1. 在test数据库上建立teacher表:

****二、****基本查询

2.1 从teacher表中分别检索出教师的所有信息
sql 复制代码
SELECT *
FROM teacher
WHERE `教工号`='2000';
SELECT *
FROM teacher
WHERE `教工号`='2111';
SELECT *
FROM teacher
WHERE `教工号`='2113';
SELECT *
FROM teacher
WHERE `教工号`='2140';
SELECT *
FROM teacher
WHERE `教工号`='2150';
2.2 查询teacher表中教工号、姓名和职称
sql 复制代码
SELECT `教工号`,`姓名`,`职称`
FROM teacher;

三、查询时改变列标题的显示

从teacher表中分别检索出教师教工号、姓名、家庭住址信息并分别加上'教师姓名'、'教工号'、'家庭住址'等标题信息

sql 复制代码
SELECT `教工号` '教工号',`姓名` '教师姓名',`职称`,`家庭住址` '家庭住址'
FROM teacher;

四、基于WHERE语句进行数据查询

4.1 基于比较条件。从teacher表中查询出教工号小于2130的教师资料。
sql 复制代码
SELECT *
FROM teacher
WHERE `教工号` < 2130;
4.2 基于BETWEEN语句。从teacher表中查询出教工号界于2100和2130之间的教师资料。
sql 复制代码
SELECT *
FROM teacher
WHERE `教工号` BETWEEN 2100 AND 2130;
4.3 基于IN子句的数据查询。从teacher表中查询出职称为"教授"或"副教授"的教师的教工号、教师姓名、职称及家庭住址。
sql 复制代码
SELECT `教工号`,`姓名` '教师姓名',`职称`,`家庭住址`
FROM teacher
WHERE `职称` IN ('教授','副教授')
4.4 基于LIKE子句的查询。从teacher表中分别检索出姓赵的教师的资料
sql 复制代码
SELECT *
FROM teacher
WHERE `姓名` LIKE '赵%'

五、使用TOP关键字查询。分别从teacher中检索出前2条及前面67%的教师的信息

sql 复制代码
# 在navicat中不支持这一条
SELECT TOP 2 * FROM teacher;

# 动态生成索引
WITH TeacherWithRowNum AS (
    SELECT *, ROW_NUMBER() OVER (ORDER BY 教工号) AS RowNum, COUNT(*) OVER () AS TotalRows
    FROM teacher
)
SELECT * 
FROM TeacherWithRowNum
WHERE RowNum <= TotalRows * 0.67;

六、使用DISTINCT关键字查询。从teacher表中检索出教师的职称并且要求显示的职称不重复

sql 复制代码
SELECT DISTINCT `职称`
FROM teacher

七、用计算列查询。将teacher表中各教师的姓名、教工号及工资按95%发放的信息,将工资按95%发放后列名该为'预发工资'

sql 复制代码
SELECT 姓名, 教工号, 工资, 工资 * 0.95 AS 预发工资 
FROM teacher;

八、使用ORDER BY语句对查询的结果进行排序。从teacher表中查询工资大于4500的教师的教工号、姓名,并按升序排列

sql 复制代码
SELECT `教工号`,`姓名`
FROM teacher
WHERE `工资`>4500
ORDER BY `工资` ASC

九、结语

希望这篇文章能帮助到正在进行类似作业的同学,一些有错误的地方还请大家指出

相关推荐
NineData3 小时前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师5 小时前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石9 小时前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_1 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
于眠牧北2 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12024 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript