成都某公司笔试题sql

-- 1.某公司需要将项目管理清单导入数据库,请建表,清单字段如下:项目编码,项目名称,项目开始时间,项目结束时间,周期(月),项目金额,客户名称,客户地址,备注。并将项目编码设置为主键,表名为ods.project list_info。

CREATE DATABASE IF NOT EXISTS ods;

USE ods;

CREATE TABLE project_list_info (

project_code INT PRIMARY KEY,

project_name VARCHAR(255),

start_date DATE,

end_date DATE,

cycle INT,

project_amount DECIMAL(10,2),

client_name VARCHAR(255),

client_address VARCHAR(255),

remarks VARCHAR(255)

);

-- 2.请查询公司工资排名前三姓"张"的员工信息

SELECT* FROM ods.client WHERE client_name LIKE '张%' ORDER BY client_salary DESC LIMIT 3;

-- 3.请统计公司2021,2022年入职的男性和女性员工数量(性别自行判断)

SELECT COUNT() AS '人数', gender AS '性别' FROM ods.client WHERE end_date BETWEEN '2021-01-01' AND '2022-02-01' GROUP BY gender;
-- 4.请统计每个部门的平均工资 结果按工资降序排序
SELECT AVG(client_salary) AS '平均工资', department AS '部门' FROM ods.client GROUP BY department ORDER BY AVG(client_salary) DESC;
-- 5.请统计公司各个年龄段员工数量(年龄段为(20-30]岁,(30-40]岁,40岁以上不包含40岁)--
SELECT COUNT(
) AS '员工数量',

CASE WHEN age > 20 AND age <= 30 THEN '(20-30]'

WHEN age > 30 AND age <= 40 THEN '(30-40]'

WHEN age > 40 THEN '40岁以上不包含40岁'

END AS '年龄段'

FROM ods.client

GROUP BY CASE WHEN age > 20 AND age <= 30 THEN '(20-30]'

WHEN age > 30 AND age <= 40 THEN '(30-40]'

WHEN age > 40 THEN '40岁以上不包含40岁'

END;

相关推荐
云计算磊哥@13 分钟前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发
小二·29 分钟前
Redis 内存溢出(OOM)排查与恢复实战
数据库·redis·bootstrap
pqk6V6Vep29 分钟前
Redis 分布式锁进阶第一篇讲解
数据库·redis·分布式
giaz14n9X1 小时前
Redis 分布式锁进阶第六十一篇
数据库·redis·分布式
是一个Bug1 小时前
MongoDB:像搭积木一样存数据
数据库·mongodb
ULIi096kr1 小时前
MySQL解决Too many connections报错:连接数爆满排查、优化与永久解决方案
数据库·mysql·adb
SL-staff2 小时前
(一)数据源配置 —— JVS-Rules规则引擎 V2.5 操作说明介绍
数据库·jar·规则引擎·数据源·jvs-rules·api 接口·jvs低代码
摇滚侠3 小时前
Spring 零基础入门到进阶 基于 XML 管理 Bean 14-28
xml·数据库·spring
Metaphor6923 小时前
使用 Python 给 PDF 设置背景色或背景图
数据库·python·pdf
Gauss松鼠会3 小时前
【GaussDB】GaussDB重要通信参数汇总
服务器·网络·数据库·sql·性能优化·gaussdb·经验总结