【sql】牛客网练习题 (共 61 题)
【1】查找最晚入职员工的所有信息
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 order by hire_date desc limit 1;
【2】查找入职员工时间排名倒数第三的员工所有信息 (表同问题1)题解:limit m, n 表示从第 m 条数据(0-based)开始取 n 条数据。(或者也可以理解成 limit m, n 表示从第 m + 1 条数据开始, 取 n 条数据)
select * from employees order by hire_date desc limit 2, 1;
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 `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`));

select s.* , d.dept_no from salaries as s join dept_manager as d on s.emp_no=d.emp_no
where s.to_date = '9999-01-01' and d.to_date = '9999-01-01'
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 `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 emp.last_name, emp.first_name, dept.dept_no from employees as emp join dept_emp as dept on emp.emp_no = dept.emp_no;
题解:因为没有分配具体部门的员工也需要展示,所以,需要 left join。INNER JOIN 两边表同时有对应的数据,即任何一边缺失数据就不显示。LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据。RIGHT JOIN 会读取右边数据表的全部数据,即便左边表无对应数据。 注意on与where有什么区别,两个表连接时用on,在使用left jion时,on和where条件的区别如下:1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。select emp.last_name, emp.first_name, dept.dept_no from employees as emp left join dept_emp as dept on emp.emp_no = dept.emp_no;
【6】查找所有员工入职时候的薪水情况
【7】查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t
【8】找出所有员工当前具体的薪水salary情况
【9】获取所有部门当前manager的当前薪水情况
【10】获取所有非manager的员工emp_no
【11】获取所有员工当前的manager
【12】获取所有部门中当前员工薪水最高的相关信息
【13】从titles表获取按照title进行分组
【14】从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略。
【15】查找employees表所有emp_no为奇数
【16】统计出当前各个title类型对应的员工当前薪水对应的平均工资
【17】获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
【18】查找当前薪水排名第二多的员工编号emp_no
【19】查找所有员工的last_name和first_name以及对应的dept_name
【20】查找员工编号emp_now为10001其自入职以来的薪水salary涨幅值growth
【21】查找所有员工自入职以来的薪水涨幅情况
【22】统计各个部门对应员工涨幅的次数总和
【23】对所有员工的当前薪水按照salary进行按照1-N的排名
【24】获取所有非manager员工当前的薪水情况
【25】获取员工其当前的薪水比其manager当前薪水还高的相关信息
【26】汇总各个部门当前员工的title类型的分配数目
【27】给出每个员工每年薪水涨幅超过5000的员工编号emp_no
【28】查找描述信息中包括robot的电影对应的分类名称以及电影数目
【29】使用join查询方式找出没有分类的电影id以及名称
【30】使用子查询的方式找出属于Action分类的所有电影对应的title,description
【31】获取select
【32】将employees表的所有员工的last_name和first_name拼接起来作为Name,中间以一个空格区分
【33】创建一个actor表,包含如下列信息
【34】批量插入数据
【35】批量插入数据,如果数据已经存在,请忽略,不使用replace操作
【36】创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表
【37】对first_name创建唯一索引uniq_idx_firstname,对last_name创建普通索引idx_lastname
【38】针对actor表创建视图actor_name_view
【39】针对上面的salaries表emp_no字段创建索引idx_emp_no,查询emp_no为10005,
【40】在last_update后面新增加一列名字为create_date
【41】构造一个触发器audit_log,在向employees表中插入一条数据的时候,触发插入相关的数据到audit中
【42】删除emp_no重复的记录,只保留最小的id对应的记录。
【43】将所有to_date为9999-01-01的全部更新为NULL,且
【44】将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005,其他数据保持不变,使用replace实现。
【45】将titles_test表名修改为titles_2017
【46】在audit表上创建外键约束,其emp_no对应employees_test表的主键id
【47】如何获取emp_v和employees有相同的数据no
【48】将所有获取奖金的员工当前的薪水增加10%
【49】针对库中的所有表生成select
【50】将employees表中的所有员工的last_name和first_name通过(')连接起来。
【51】查找字符串'10,A,B'
【52】获取Employees中的first_name,查询按照first_name最后两个字母,按照升序进行排列
【53】按照dept_no进行汇总,属于同一个部门的emp_no按照逗号进行连接,结果给出dept_no以及连接出的结果employees
【54】查找排除当前最大、最小salary之后的员工的平均工资avg_salary
【55】分页查询employees表,每5行一页,返回第2页的数据
【56】获取所有员工的emp_no
【57】使用含有关键字exists查找未分配具体部门的员工的所有信息。
【58】获取employees中的行数据,且这些行也存在于emp_v中
【59】获取有奖金的员工相关信息。
【60】统计salary的累计和running_total
【sql】牛客网练习题 (共 61 题)的更多相关文章
- 牛客网第一场E题 Removal
链接:https://www.nowcoder.com/acm/contest/139/E 来源:牛客网 Bobo has a sequence of integers s1, s2, ..., sn ...
- 牛客网-3 网易编程题(1拓扑&2二叉树的公共最近祖先&3快排找第K大数)
1. 小明陪小红去看钻石,他们从一堆钻石中随机抽取两颗并比较她们的重量.这些钻石的重量各不相同.在他们们比较了一段时间后,它们看中了两颗钻石g1和g2.现在请你根据之前比较的信息判断这两颗钻石的哪颗更 ...
- 牛客网_Go语言相关练习_判断&选择题(4)
题目来源于牛客网 一.判断题 成员变量或者函数的首字母表示是否对外部可见. switch后面的声明语句和表达式语句都是可以选择的.例如: //可以什么都不加 switch: break; 错误指的是可 ...
- 牛客网练习赛18 A 【数论/整数划分得到乘积最大/快速乘】
链接:https://www.nowcoder.com/acm/contest/110/A 来源:牛客网 题目描述 这题要你回答T个询问,给你一个正整数S,若有若干个正整数的和为S,则这若干的数的乘积 ...
- 牛客网数据库SQL实战解析(51-61题)
牛客网SQL刷题地址: https://www.nowcoder.com/ta/sql?page=0 牛客网数据库SQL实战解析(01-10题): https://blog.csdn.net/u010 ...
- 牛客网数据库SQL实战解析(41-50题)
牛客网SQL刷题地址: https://www.nowcoder.com/ta/sql?page=0 牛客网数据库SQL实战解析(01-10题): https://blog.csdn.net/u010 ...
- 牛客网数据库SQL实战解析(31-40题)
牛客网SQL刷题地址: https://www.nowcoder.com/ta/sql?page=0 牛客网数据库SQL实战解析(01-10题): https://blog.csdn.net/u010 ...
- 牛客网数据库SQL实战解析(21-30题)
牛客网SQL刷题地址: https://www.nowcoder.com/ta/sql?page=0 牛客网数据库SQL实战解析(01-10题): https://blog.csdn.net/u010 ...
- 牛客网数据库SQL实战解析(11-20题)
牛客网SQL刷题地址: https://www.nowcoder.com/ta/sql?page=0 牛客网数据库SQL实战解析(01-10题): https://blog.csdn.net/u010 ...
随机推荐
- 最大流的SAP算法模板
明天补充~~~先上代码 #include<iostream> #include<string> #include<queue> #include<vector ...
- 在scite编辑器中使用astyle格式化c代码
用 vc6 很喜欢 alt+F8 的功能. 能够格式化代码. scite 没有这个功能. 今天看它的配置文件发现这么两行: command.name.0.*.cxx=Indent command.0. ...
- LC: 404.左叶子节点
计算给定二叉树的所有左叶子之和. 示例: / \ 9 20 / \ 15 7 ,所以返回 24 解析 我们需要找到这样的节点 属于叶子节点 属于父节点的左子节点 方法一:用栈,dfs遍历,用全局变量r ...
- shell脚本相关关系、浮点、循环
将一堆命令放在脚本里变成可执行脚本执行: 脚本编写,文件名为.sh,获取hostname的主机名 系统变量: Env:查看系统变量 Set :打印所有变量可以和grep和用 Export path:定 ...
- JMS Activemq实战例子demo
上一篇已经讲了JMS的基本概念,这一篇来上手练一练,如果对JMS基本概念还不熟悉,欢迎参靠JMS基本概. 这篇文章所使用的代码已经不是我刚入手时的代码,已经经过我重构过的代码,便于理解,并且加了很多中 ...
- Steup Factory 操作注册表
//判断注册表是否存在,不存在就创建 result = Registry.DoesKeyExist(HKEY_CURRENT_USER, "SOFTWARE\\MyTestApp" ...
- 阿里云公共DNS正式发布支持IPv6的版本
在10月23日召开的GNTC 2019全球网络技术大会IPv6分论坛上,阿里云高级技术专家张先国宣布支持阿里公共DNS的IPv6版本正式发布,即阿里公共DNS在保持IPv4 稳定解析服务的基础上(An ...
- 巴厘岛的雕塑(sculptures)
巴厘岛的雕塑(sculptures) 印尼巴厘岛的公路上有许多的雕塑,我们来关注它的一条主干道. 在这条主干道上一共有 N 座雕塑,为方便起见,我们把这些雕塑从 1 到 N 连续地进行标号,其中第 i ...
- 【数据库】一篇文章搞掂:MySQL数据库
一.安装 使用版本:5.7(2018/08/03 阿里云的云数据库最高支持5.7,所以这里考虑用5.7) 下载版本:MySQL Community Server 5.7.23 下载地址:https:/ ...
- 后台date类型转换为json字符串时,返回前台页面的是long类型的时间戳问题解决
学习springboot框架,写个博客系统,在后台管理的日志管理中,遇到了后台查询的日期格式的结果返回到页面变成了日期的时间戳了.然后摸索了三种方法来解决.页面的显示问题如下图. 问题页面回顾: 本案 ...