中级工程师基础SQL试题
一、查询员工的全名,email和电话
SELECT
concat(first_name,',',last_name),email,phone_int//将employees表的所有员工的last_name和first_name拼接起来作为Name
FROM employees;
二、查询所有员工的全名,月薪和年薪(月薪*12)
SELECT
first_name,last_name,salary,salary*12
FROM employees;
三、查询所有员工的全名,月薪和年终奖(年薪*commission_pct)
SELECT
first_name,last_name,salary,salary*12*ifnull(commission_pct,0)
//IFNULL函数是MySQL控制流函数之一,它接受两个参数,如果不是NULL,则返回第一个参数。否则,IFNULL函数返回第二个参数。
//佣金百分比 (CommissionPCT)但是佣金百分比,数据库里employees表里的一个列。FROM employees;
四、查询哪些部门和职位有员工
SELECT DISTINCT department_id,job_id from employees WHERE department_id is not null
//SELECT DISTINCT用于返回唯一不同的值
五、查询1999年之后入职的员工信息
SELECT first_name,last_name,hire_date FROM employees WHERE year(hire_date) >= '1999'
六、查询公司的老板信息
SELECT first_name,last_name FROM employees WHERE manager_id IS NULL
七、查询所有员工信息,按照部门和年薪降序排序;
SELECT first_name,last_name,salary*12 as total FROM employees ORDER BY department_id,total DESC
//ORDER BY 关键字用于对结果集按照一个列或者多个列进行排列。
//ORDER BY 关键字默认按照升序进行排序。DESC降序
八、给用户名加密,保留员工全名前3位,中间4位使用*代替,如果姓名还有多余的字符,保留;
SELECT concat(RPAD(substring(concat(first_name,last_name),1,3),7,'*'),
SUBSTRING(concat(first_name,last_name),8))
FROM employees
九、计算员工姓名和全薪;
SELECT first_name,last_name,salary,salary*12*(1+ifnull(commission_pct,0)) FROM employees
十、查询员工所属的部门id,如果没有部门,打印“未分配部门”
SELECT first_name,last_name,ifnull(department_id,'未分配部门') FROM employees
十一、查询出每一个部门的平均工资
SELECT department_id,AVG(salary) FROM employees WHERE department_id is not null GROUP BY department_id
十二、查询平均工资高于8000的部门和其平均工资
SELECT department_id,AVG(salary) FROM employees WHERE department_id is not null GROUP BY department_id HAVING AVG(salary)>=8000
十三、查询换过工作员工换工作的次数
SELECT employee_id,COUNT(employee_id) FROM job_history GROUP BY employee_id
十四、查询在95,96,97,98年各进公司多少人
SELECT year(hire_date),count(employee_id)
FROM employees
WHERE YEAR(hire_date) in ('1995','1996','1997','1998')
GROUP BY YEAR(hire_date)
十五、输出员工名称,员工id,员工所属部门
SELECT first_name,last_name,department_name FROM employees e JOIN departments d ON e.department_id = d.department_id
十六、输出员工信息,包括employee_id, first_name,
department_id, department_name location_id city
SELECT e.employee_id,e.first_name,d.department_id,d.department_name,l.location_id,l.city
FROM employees e JOIN departments d ON e.department_id = d.department_id JOIN locations l ON d.location_id = l.location_id
十七、在 EMPLOYEES 表中所有薪水位于JOB_GRADES表最低薪水和最高薪水之间雇员的薪水级别
SELECT e.first_name,e.last_name,e.salary
FROM employees e,job_grades j
WHERE e.salary BETWEEN j.lowest_sal AND j.highest_sal
SELECT e.first_name,e.last_name,e.salary
FROM employees e JOIN job_grades j ON e.salary BETWEEN j.lowest_sal AND j.highest_sal
十八、查询所有有奖金的员工的姓名,部门,地址,城市
SELECT e.employee_id,e.first_name,d.department_id,d.department_name,l.location_id,l.city
FROM employees e JOIN departments d ON e.department_id = d.department_id JOIN locations l ON d.location_id = l.location_id
WHERE e.commission_pct IS NOT NULL
十九、查询last_name为’Ki’ 的员工的经理信息
SELECT first_name,last_name FROM employees WHERE employee_id IN (SELECT manager_id FROM employees WHERE last_name LIKE 'Ki%')
//IN操作符允许where子句中规定多个值
//LIKE操作符用于WHERE子句中搜索列中的指定模式
二十、查询公司工资最低的员工信息
SELECT first_name,last_name,salary FROM employees WHERE salary = (SELECT MIN(salary) FROM employees)
二十一、查询1999年来公司的所有员工的最高工资的员工
SELECT first_name,last_name,hire_date,salary
FROM employees WHERE salary=
(SELECT MAX(salary) FROM employees WHERE year(hire_date)='1999')
AND year(hire_date) = '1999'
//WHERE子句用于过滤记录
.二十二、查询曾经做过ST_CLERK的员工信息
SELECT e.first_name,e.last_name,j.job_id FROM employees e JOIN job_history j ON e.employee_id = j.employee_id WHERE j.job_id = 'ST_CLERK'
中级工程师基础SQL试题相关推荐
- C++开发工程师基础面试题
C++开发工程师基础面试题 C++基础 1.C和C++的区别 2.C++中指针和引用的区别 3.结构体struct和共同体union(联合)的区别 结构体为什么要内存对齐呢? 结构体内存对齐规则 如何 ...
- 百条网络工程师基础面试题(不断更新)
1)什么是链接? 链接是指两个设备之间的连接.它包括用于一个设备能够与另一个设备通信的电缆类型和协议. 2)OSI 参考模型的层次是什么? 有 7 个 OSI 层:物理层,数据链路层,网络层,传输层, ...
- 开发转测试好转吗_月薪15K+的高级测试开发工程师基础面试题,你要来试试吗?...
小编准备了三道测试开发题, 答对即有机会获得本期精选图书! 快来挑战吧!@所有人 本期图书介绍 本书从测试的角度,针对性地讲述了软件测试人员在软件测试和测试开发过程中需要掌握的知识点,以及需要达到的技 ...
- 【经验分享】58个硬件工程师基础知识面试题
01 请列举您知道的电阻.电容.电感品牌(最好包括国内.国外品牌) ▶电阻 美国:AVX.VISHAY威世 日本:KOA兴亚.Kyocera京瓷.muRata村田.Panasonic松下.ROHM罗姆 ...
- 西安慧点科技Java基础笔试_java工程师基础笔试题(一)-参考答案
一.选择和填空 (不定项哦!) 1,如下是一份文件名为Test2.java的源文件,请问,编译该文件之后会生成几份字节码文件 class Test{ class Inner{} static cla ...
- 基础SQL面试题(3)
问题描述:为管理岗位业务培训信息,建立3个表:S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号.学员姓名.所属单位.学员年龄C (C#,CN ) C#,CN 分别代表课程编号.课程 ...
- 基础SQL面试题(1)
如下4个表: 1. Student(S#,Sname,Sage,Ssex) 学生表 2. Course(C#,Cname,T#) 课程表 3. SC(S#,C#,score) 成绩表 4. Teach ...
- 数据库基础SQL知识面试题一
数据库基础SQL知识面试题一 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如标题所示,本篇博客主要介绍基础知识的面试题.大家可以用来测试面试者的技术水平,由于个人水平所限,难免 ...
- java中级工程师面试题_java中级工程师面试题
java中级工程师面试题 目前,我国对软件人才的需求已达20万,并且以每年20%左右的速度增长.在未来5年内,合格软件人才的需求将远大于供给.下面是关于java中级工程师面试题,希望大家认真阅读! 一 ...
- [转载] Java基础知识面试题(2020最新版)
参考链接: Java中的异常类型与示例 文章目录 Java概述何为编程什么是Javajdk1.5之后的三大版本JVM.JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码? ...
最新文章
- 不舍得卸载!推荐8个私藏APP,每一款都堪称精品
- dns服务 很多问题,后续再研究
- 美团技术:复杂环境下落地 Service Mesh 的挑战与实践
- 力扣450. 删除二叉搜索树中的节点(JavaScript)
- c++ file* 句柄泄漏_C/C++连接MySql数据库使用总结
- 浏览器URL传参最大长度问题
- JS-加入收藏夹的代码
- 4款FTP搜索引擎比专业
- SpringBoot使用Quartz定时器实现Email信息轰炸
- 停车还能360全方位影像_辅助停车,新手司机就选360全景吧!
- php mysql webim_webim(icomet) 使用
- 在JSP打开EXCEL文件
- 网络上的计算机病毒怎么办,电脑中病毒了怎么办
- 《图像处理、分析与机器视觉 第四版》数学形态学基本概念——学习笔记
- 用python做一个木马_Python编程简单的木马程序(转载于乌云中)
- 《黃帝內經》第一章《上古天真論》
- K8s - 让Master也能当作Node使用的方法
- POI导出word中cell单元格内换行问题
- strcasecmp函数用法
- 福建闽北卫生学校计算机考试,福建闽北卫生学校