数据库第二次作业

素材:

1、显示所有职工的基本信息。

SELECT * FROM worker;

2、查询所有职工所属部门的部门号,不显示重复的部门号。

SELECT DISTINCT `部门号` FROM worker;

3、求出所有职工的人数。

SELECT COUNT(`职工号`) FROM worker;

4、列出最高工和最低工资。

SELECT `工资` FROM worker ORDER BY `工资` DESC LIMIT 1;
SELECT `工资` FROM worker ORDER BY `工资` LIMIT 1;

5、列出职工的平均工资和总工资。

SELECT AVG(`工资`) FROM worker;
SELECT SUM(`工资`) FROM worker;

6、创建一个只有职工号、姓名和参加工作的新表,名为工作日期表。

CREATE TABLE workdate AS SELECT 职工号 AS 职工号, 姓名 AS 姓名 FROM worker;

7、显示所有女职工的年龄。

SELECT 年龄 FROM worker WHERE `性别`=`女`;

8、列出所有姓刘的职工的职工号、姓名和出生日期。

SELECT `职工号`,`姓名`,`出生日期` FROM worker WHERE `姓名` LIKE "刘%";

9、列出1960年以前出生的职工的姓名、参加工作日期。

SELECT `姓名`,`工作时间` FROM worker WHERE `出生日期` <1960;

10、列出工资在1000-2000之间的所有职工姓名。

SELECT `姓名` FROM worker WHERE `工资`>1000 AND `工资`<2000;

11、列出所有陈姓和李姓的职工姓名。

SELECT `姓名` FROM worker WHERE `姓名` LIKE "陈%" OR `姓名` LIKE "李%";

12、列出所有部门号为2和3的职工号、姓名、政治面貌。

SELECT `职工号`,`姓名`,`政治面貌` FROM worker WHERE `部门号`=102 OR `部门号`=103;

13、将职工表worker中的职工按出生的先后顺序排序。

SELECT * FROM worker ORDER BY `出生日期`;

14、显示工资最高的前3名职工的职工号和姓名。

SELECT `职工号`,`姓名` FROM worker ORDER BY `工资` DESC LIMIT 3;

15、求出各部门党员的人数。

SELECT COUNT(`政治面貌`) FROM worker WHERE `政治面貌` = "党员";

16、统计各部门的工资和平均工资

SELECT SUM(`工资`),AVG(`工资`) FROM worker GROUP BY `部门号`;

17、列出总人数大于4的部门号和总人数。

SELECT `部门号`,COUNT(`部门号`) FROM worker GROUP BY `部门号` HAVING COUNT(`部门号`)>=4;

关于头歌数据库第一次作业的相关资料或指导,虽然无法提供具体的答案,但可以基于已有的引用内容以及专业知识给出一些提示和建议。 ### 关于SQL查询的基础知识 如果头歌数据库的第一次作业涉及SQL查询基础,则可能需要掌握复杂的嵌套查询语法。例如,在引用中提到的一个例子展示了如何使用`ALL`关键字进行条件过滤[^1]: ```sql SELECT col1 FROM table1 WHERE col1 > ALL (SELECT col2 FROM table2); ``` 上述代码示从 `table1` 中选取满足大于 `table2` 所有记录值的字段 `col1` 的所有行。这种类型的查询通常用于多关联场景下的复杂筛选逻辑。 --- ### HTAP数据库的概念及其应用背景 对于更高级别的数据库设计或者优化题目,可能会涉及到HTAP(Hybrid Transactional/Analytical Processing)数据库的设计理念。根据已有引用描述[^2],HTAP数据库分为两类不同的架构模式: - **第一类**:以列存为主的系统(如 SAP HANA),其特点是高性能的OLAP查询能力和相对适中的OLTP事务处理能力; - **第二类**:分布式行存为主、列存为辅助副本的结构(如 TiDB)。这类系统的优点在于高度可扩展性和对两种工作负载的良好平衡支持。 这些概念可以帮助理解现代数据库管理系统是如何兼顾实时交易需求与大规模数据分析任务的要求。 --- ### 窗口函数的应用技巧 另外还提到了窗口函数相关内容[^3],这可能是某些练习的点之一。“PARTITION BY”引导的是分区内部分析操作,“ORDER BY”则定义了每一分区内的顺序排列方式。下面是一个简单的示例展示如何利用窗口函数计算累计销售额: ```sql SELECT product_id, sale_date, amount, SUM(amount) OVER(PARTITION BY product_id ORDER BY sale_date) AS cumulative_sales FROM sales; ``` 此脚本会针对每一个产品分别按照日期升序累积求和销售金额。 --- #### 提醒事项 由于具体课程安排未知,请自行确认实际考核范围是否覆盖以上知识点。同时注意遵循学术诚信原则完成个人学习成果提交。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值