2023.10.26-SQL测试题

news/2025/2/16 6:37:05/

employee表:
在这里插入图片描述

department表:
在这里插入图片描述
job表:
在这里插入图片描述
location表:
在这里插入图片描述
题目及答案:

-- (1).查询工资大于一万的员工的姓名(first_name与last_name用“.”进行连接)和工资--  select CONCAT(first_name,'.',last_name) as 姓名 ,salary
--  from employee
--  where salary>10000
-- 
-- -- (2).查询佣金不为null的员工信息
--  SELECT *
--  FROM employee
--  WHERE salary IS NOT NULL-- (3).查询first_name中包含字母e的员工信息
-- SELECT *
-- FROM employee
-- WHERE first_name LIKE '%e%'-- (4).查询first_name以K开头并且last_name中含有e的员工信息
-- SELECT *
-- FROM employee
-- WHERE first_name LIKE 'K%' and last_name like '%e%'-- MySQL提供了LENGTH函数,可以查询字符串类型字段的长度。例如,查询表中字段名为“username”的长度
-- MySQL LENGTH(str)与CHAR_LENGTH(str)用法区别
-- ①  LENGTH(str):返回字符串 str 的长度,以字节为单位。一个多字节字符计为多个字节。这意味着对于包含五个 2 字节字符的字符串,LENGTH()返回 10,这需要根据编码方式来判断每个字符所占的字节
-- ②  CHAR_LENGTH(str):返回字符串 str 的长度,以代码点为单位。多字节字符计为单个代码点。对于包含两个 3 字节字符的字符串,LENGTH()返回 6,而 CHAR_LENGTH()返回 2。
-- (5).查询员工姓名长度大于等于10的员工姓名(first_name与last_name用“.”进行连接)及其长度
-- SELECT CONCAT(first_name,'.',last_name) '姓名',LENGTH(CONCAT(first_name,'.',last_name)) '姓名长度'
-- FROM employee
-- WHERE LENGTH(CONCAT(first_name,'.',last_name))>=10
-- 
-- 在MysqL中,我们可以使用ROUND函数来实现对数据的保留小数位数。该函数的语法如下:ROUND(X,D);其中,X表示要进行四舍五入的数值,D表示要保留的小数位数。
-- (6).查询平局工资在一万以上的部门的人数、总工资以及平均工资,并按照平均工资降序显示(平均工资保留小数点后两位)
-- SELECT COUNT(*) '部门人数',SUM(salary) '总工资',ROUND(AVG(salary),2) '平均工资'
-- FROM employee
-- GROUP BY department_id
-- HAVING AVG(salary)>10000
-- ORDER BY AVG(salary) DESC-- (7).查询部门编号为90的部门名称以及员工的姓名和工资
-- SELECT department.department_name,CONCAT(first_name,'.',last_name) as 姓名,employee.salary
-- FROM employee,department 
-- WHERE employee.department_id=department.department_id and department.department_id=90
-- 
-- (8).显示所有员工的员工信息及其部门信息
-- SELECT *
-- FROM employee LEFT JOIN department ON employee.department_id=department.department_id-- (9).显示员工及其领导的姓名和工资
-- SELECT CONCAT(e1.first_name,'.',e1.last_name) as '员工姓名',e1.salary '员工工资',CONCAT(e2.first_name,'.',e2.last_name) as '领导姓名',e2.salary as '领导工资'
-- FROM employee e1,employee e2
-- WHERE e1.manager_id=e2.employee_id-- (10).显示职位是Programmer的员工信息
-- SELECT employee_id,CONCAT(first_name,'.',last_name)as '姓名',email,phone_number,employee.job_id,salary,commission_pct,manager_id,department_id
-- FROM employee,job
-- WHERE employee.job_id=job.job_id and job.job_title='Programmer'-- (11).查询部门人数大于5人的部门名称
--  SELECT department_name
--  FROM employee,department
--  WHERE employee.department_id=department.department_id
--  GROUP BY department_name
--  HAVING COUNT(*)>5
-- 
-- 可能会出现部门名称一样的情况:直接通过部门名称分组会导致所属两个不同id的部门会分到一组,而distinct会导致筛选一个只保留一个,故需要利用子查询通过唯一索引id进行分组再显示部门名称
--  SELECT department_name
--  FROM department
--  WHERE department_id in (
--  	SELECT department_id
--  	FROM employee
--  	GROUP BY department_id
--  	HAVING COUNT(*)>5
--  )-- 一直出现的误区:在子查询中WHERE条件一直使用的是emp.employee_id=employee.employee_id。实际上,这样筛选出来的只有一条记录
-- (12).查询高于部门平均工资的员工姓名及其工资
--  SELECT CONCAT(first_name,'.',last_name) as 姓名,salary
--  FROM employee emp
--  WHERE salary>(
--  	SELECT AVG(salary)
--  	FROM employee
--  	WHERE emp.department_id=employee.department_id
--  	GROUP BY employee.department_id
--  )-- (13).显示各部们名称及其领导的姓名、职位名称
-- SELECT department_name '部门名称', CONCAT(first_name,'.',last_name) as 领导姓名, job_title '职位名称'
-- FROM department LEFT JOIN employee ON department.manager_id=employee.employee_id LEFT JOIN job ON employee.job_id=job.job_id
-- 

http://www.ppmy.cn/news/1177962.html

相关文章

肯尼亚市场开发攻略,收藏一篇就够了

肯尼亚是非洲第三大经济体,经济基础比较好,也跟我们国家有比较多的贸易联系。也是非洲电商市场发展比较好的国家,市场潜力都是比较不错的。今天就来给大家分享一下肯尼市场的开发攻略,文章略长,大家收藏慢慢看。 文章…

民安智库(政务服务第三方评估公司)提升政务服务水平:满意度调查助力改进

政务大厅满意度调查是一项重要的工作,它可以帮助了解公众对政府服务的满意度,发现服务中的问题,并推动政府改进服务。以下是开展政务满意度调查的一些步骤: 1. 确定调查目的和问题:首先,需要明确想要了解的…

网络主播在提供网络表演及试听节目服务过程中,不得出现下列哪些行为?( )

需要查看详细试题题库及其参考答案的,请到(题海舟)里进行搜索查看。可搜试题题干或者搜索关键词,搜题的时候,先进行题目识别,能大大提高学习效率,感谢使用! 下列不属于网络服务提供…

freemarker,使用

freemarker if 判断对象是否为空 freemarker中判断对象是否为空&#xff0c;一般有2种做法&#xff1a; 1. 用if判断对象是否为空 <#if obj??>不为空处理</#if> <#if obj?default("xxx")> obj如果为空则给obj复制xxx。 2. 给对象赋默认值&a…

如何理解Spring的IOC和AOP

IOC和AOP的理解 IOC 是利用java反射机制还有工厂设计模式的思想&#xff0c;本来调用者的实例由调用者来创建这样耦合性太强&#xff0c; IOC则是统一交给spring来管理创建&#xff0c;将对象创建交给容器管理&#xff0c;你只需在spring配置文件中配置相应的bean 以及设置相关…

契约锁助力电子检测报告应用,杜绝假证书、出证更便捷

国家市场监管总局发布的最新数据显示&#xff1a;2022年&#xff0c;全国5.2万家检验检测机构出具检验检测报告共6.5亿份。按照一份纸质报告3-5页、成本约15元计算&#xff0c;“电子检测报告”的应用可以帮助检验检测行业一年节省约27亿张纸、97.5亿元的成本费。 引入电子签章…

java时间解析生成定时Cron表达式工具类

Cron表达式工具类CronUtil 构建Cron表达式 /****方法摘要&#xff1a;构建Cron表达式*param taskScheduleModel*return String*/public static String createCronExpression(TaskScheduleModel taskScheduleModel){StringBuffer cronExp new StringBuffer("");if(…

Vben开源添加本地路由(不用显示在菜单的路由)

1.在src\router\routes\modules下创建一个article.ts import type { AppRouteModule } from //router/types;import { LAYOUT } from //router/constant; import { t } from //hooks/web/useI18n;export const article: AppRouteModule {path: /article,name: Article,compon…