第五十一题:

题目描述

获取Employees中的first_name,查询按照first_name最后两个字母,按照升序进行排列
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
输出格式:

first_name
Chirstian
Tzvetan
Bezalel
Duangkaew
Georgi
Kyoichi
Anneke
Sumant
Mary
Parto
Saniya

代码:

SELECT first_name FROM employees
ORDER BY SUBSTR(first_name,-2)

--------------------------------------------------------可爱的分界线----------------------------------------------------

第五十二题:

题目描述

按照dept_no进行汇总,属于同一个部门的emp_no按照逗号进行连接,结果给出dept_no以及连接出的结果employees
CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
输出格式:

dept_no employees
d001 10001,10002
d002 10006
d003 10005
d004 10003,10004
d005 10007,10008,10010
d006 10009,10010

代码:

SELECT dept_no,GROUP_CONCAT(emp_no,',') AS employees
FROM dept_emp
GROUP BY dept_no

--------------------------------------------------------可爱的分界线----------------------------------------------------

第五十三题:

题目描述

查找排除当前最大、最小salary之后的员工的平均工资avg_salary。
CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
输出格式:

avg_salary
69462.5555555556

代码:

SELECT AVG(salary)AS avg_salary
FROM salaries
WHERE to_date='9999-01-01'
AND salary NOT IN (SELECT MAX(salary)from salaries)
AND salary NOT IN (SELECT MIN(salary)from salaries)

--------------------------------------------------------可爱的分界线----------------------------------------------------

第五十四题:

题目描述

分页查询employees表,每5行一页,返回第2页的数据
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));

代码:

SELECT*FROM employees LIMIT 5 OFFSET 5;

--------------------------------------------------------可爱的分界线----------------------------------------------------

第五十五题:

题目描述

获取所有员工的emp_no、部门编号dept_no以及对应的bonus类型btype和recevied,没有分配具体的员工不显示
CREATE TABLE `dept_emp` ( `emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
CREATE TABLE `dept_manager` (
`dept_no` char(4) NOT NULL,
`emp_no` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
输出格式:

e.emp_no dept_no btype recevied
10001 d001 1 2010-01-01
10002 d001 2 2010-10-01
10003 d004 3 2011-12-03
10004 d004 1 2010-01-01
10005 d003  
10006 d002  
10007 d005  
10008 d005  
10009 d006  
10010 d005  
10010 d006  

代码:

SELECT de.emp_no, de.dept_no, eb.btype, eb.recevied
FROM dept_emp AS de LEFT JOIN emp_bonus AS eb ON
de.emp_no = eb.emp_no;

--------------------------------------------------------可爱的分界线----------------------------------------------------

第五十六题:

题目描述

使用含有关键字exists查找未分配具体部门的员工的所有信息。
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
输出格式:

emp_no birth_date first_name last_name gender hire_date
10011 1953-11-07 Mary Sluis F 1990-01-22

代码:

SELECT*
FROM employees
WHERE NOT EXISTS (SELECT emp_no FROM dept_emp WHERE emp_no=employees.emp_no)

--------------------------------------------------------可爱的分界线----------------------------------------------------

第五十七题:

题目描述

存在如下的视图:
create view emp_v as select * from employees where emp_no >10005;
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
获取employees中的行数据,且这些行也存在于emp_v中。注意不能使用intersect关键字。
输出格式:

emp_no birth_date first_name last_name gender hire_date
10006 1953-04-20 Anneke Preusig F 1989-06-02
10007 1957-05-23 Tzvetan Zielinski F 1989-02-10
10008 1958-02-19 Saniya Kalloufi M 1994-09-15
10009 1952-04-19 Sumant Peac F 1985-02-18
10010 1963-06-01 Duangkaew Piveteau F 1989-08-24
10011 1953-11-07 Mary Sluis F 1990-01-22

代码:

SELECT* FROM emp_v;

--------------------------------------------------------可爱的分界线----------------------------------------------------

第五十八题:

题目描述

获取有奖金的员工相关信息。
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
create table emp_bonus(
emp_no int not null,
recevied datetime not null,
btype smallint not null);
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`from_date`));
给出emp_no、first_name、last_name、奖金类型btype、对应的当前薪水情况salary以及奖金金额bonus。 bonus类型btype为1其奖金为薪水salary的10%,btype为2其奖金为薪水的20%,其他类型均为薪水的30%。 当前薪水表示to_date='9999-01-01'
输出格式:

emp_no first_name last_name btype salary bonus
10001 Georgi Facello 1 88958 8895.8
10002 Bezalel Simmel 2 72527 14505.4
10003 Parto Bamford 3 43311 12993.3
10004 Chirstian Koblick 1 74057 7405.7

代码:

SELECT e.emp_no,e.first_name,e.last_name,eb.btype,s.salary,
(CASE eb.btypeWHEN 1 THEN s.salary*0.1WHEN 2 THEN s.salary*0.2ELSE s.salary*0.3
END)AS bonus
FROM employees AS e,emp_bonus AS eb,salaries AS s
WHERE s.to_date='9999-01-01'AND e.emp_no=eb.emp_noAND e.emp_no=s.emp_no

--------------------------------------------------------可爱的分界线----------------------------------------------------

第五十九题:

题目描述

按照salary的累计和running_total,其中running_total为前两个员工的salary累计和,其他以此类推。 具体结果如下Demo展示。。
CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
输出格式:

emp_no salary running_total
10001 88958 88958
10002 72527 161485
10003 43311 204796
10004 74057 278853
10005 94692 373545
10006 43311 416856
10007 88070 504926
10009 95409 600335
10010 94409 694744
10011 25828 720572

代码:

SELECT sb.emp_no,sb.salary,SUM(sa.salary)AS runing_total
FROM salaries AS sa,salaries AS sb
WHERE sa.emp_no<=sb.emp_no
AND sa.to_date='9999-01-01'
AND sb.to_date='9999-01-01'
GROUP BY sb.emp_no

--------------------------------------------------------可爱的分界线----------------------------------------------------

第六十题:

题目描述

对于employees表中,给出奇数行的first_name
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));
输出格式:

first_name
Georgi
Chirstian
Anneke
Tzvetan
Saniya
Mary

代码:

SELECT ea.first_name FROM employees AS ea
WHERE (SELECT COUNT(*)FROM employees AS ebWHERE ea.first_name<=eb.first_name)%2==1;

--------------------------------------------------------可爱的分界线----------------------------------------------------

SQL实战(51到60题)相关推荐

  1. 牛客数据库SQL实战 51-60(substr切割字符串、group_concat组拼接、limit_offset分页、exists条件成立判断、case分支、表的复用)

    文章目录 51* 获取Employees中的first_name 51.1 题目描述 51.2 题解 substr 52* 按照dept_no进行汇总 52.1 题目描述 52.2 题解 group_ ...

  2. 牛客网数据开发题库_练习SQL利器,牛客网SQL实战题库

    牛客网SQL实战网址:https://www.nowcoder.com/ta/sql 持续更新--记录自己在牛客网SQL的做题过程 更新进度:61题,2019-4-3,更完了 1.查找最晚入职员工的所 ...

  3. 数据库SQL实战题目详解(全61题)---(41-61)部分

    题目来源:牛客网–<数据库SQL实战> https://www.nowcoder.com/ta/sql?page=0 题目答案为博主自写已通过运行,题目难度近似于阶梯上升,可根据自身情况分 ...

  4. 牛客网数据库SQL实战60—— 统计salary的累计和running_total

    牛客网数据库SQL实战60-- 统计salary的累计和running_total 题目描述 按照salary的累计和running_total,其中running_total为前两个员工的salar ...

  5. 牛客网SQL实战二刷 | Day10

    「牛客网SQL实战二刷」是个系列学习笔记博文,今天解析7道SQL题目- 第55 - 61题. 每篇笔记的格式大致为,三大板块: 大纲 题目(题目描述.思路.代码.相关参考资料/答疑) 回顾 ❤️「往期 ...

  6. SQL面试必会50题(含答案和学习链接)

    最近在刷 sql 题,刷完了网上的 SQL 面试必会 50 题,现把我的答案和思路整理如下,供大家参考. 这是目录 一.创建四张表 二.SQL面试必会50题(不含答案) 三.SQL面试必会50题(含答 ...

  7. sql replace替换多个字符_牛客网数据库SQL实战详细剖析(4150)

    文章来源:大数据肌肉猿 作者:无精疯 这是一个系列文章,总共61题,分6期,有答案以及解题思路,并附上解题的一个思考过程.具体题目可参考牛客网的SQL实战模块:https://www.nowcoder ...

  8. sql not exists用法_牛客网数据库SQL实战详细剖析(5160)(更新完结)

    文章来源:大数据肌肉猿 作者:无精疯 这是一个系列文章,总共61题,分6期,有答案以及解题思路,并附上解题的一个思考过程. 具体题目可参考牛客网的SQL实战模块: https://www.nowcod ...

  9. 牛客网数据库SQL实战14—— 从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略。

    牛客网数据库SQL实战14-- 从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略. 题目描述 从titles表获取按照title进行分组,每组个数大于等于2,给出titl ...

最新文章

  1. php多关键词精确查找,搜索引擎,全文搜索_请问有没有搜索引擎能做到Like级别的任意关键词精确查询?,搜索引擎,全文搜索,lucene,elasticsearch,百度 - phpStudy...
  2. zookeeper错误KeeperErrorCode = ConnectionLoss解决
  3. leetcode算法题解(Java版)-9-N皇后问题
  4. 3DSlicer6:编译、调试、规范化的开发
  5. 权限基本操作:实体类和dao
  6. 腾讯架构师讲解Java接口的继承与抽象类
  7. 工业以太网交换机品牌排行榜,国产工业交换机哪个品牌好?
  8. linux有哪些实时同步工具,rsync文件同步工具常见模式有哪些?linux系统
  9. CmsEasy 如何安装
  10. 2019如何新建流程图_用Word制作流程图,居然还有这么多小技巧
  11. PRICAI 2016 论文精选 | 基于车辆优先级优化交通系统的道路分布
  12. shell实战训练营Day2
  13. 七年之后的《深入理解计算机系统》
  14. 大学excel题库含答案_大学excel操作测试题「附答案」
  15. 使用docx4j解析word模板,替换占位符生成新的docx,并生成pdf
  16. 尚硅谷_宋红康_JDBC
  17. DM - Manager工具
  18. 给全栈人员,如何用ps让图片不改变尺寸分辨率大小的情况下,让图片质量变的更小
  19. 电脑丢失的dll文件怎么一键修复?修复dll方法分享
  20. 使用js修改图片像素颜色并保存

热门文章

  1. 最新 | 用深度强化学习打造不亏钱的交易机器人(附代码)
  2. 360校园招聘2015技术类笔试题
  3. uni-app的生命周期说明及平台差异性说明
  4. Microsoft Offfice 2010 测试版下载
  5. C++ 多态介绍详解
  6. Mybatis03-封装MybatisUtil实体类
  7. 如何应对开源组件⻛险?软件成分安全分析(SCA)能力的建设与演进
  8. Lombok基本使用方法
  9. 蓝屏0x000000A5解决方案
  10. 知名互联网公司需要什么样的人才