数据库
ECIFICS
个人博客:blog.ecifics.top
展开
-
牛客网-数据库SQL实战24
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档获取所有非manager员工当前的薪水情况题目描述解题思路参考代码题目描述有一个员工表employees简况如下:有一个,部门员工关系表dept_emp简况如下:有一个部门经理表dept_manager简况如下:有一个薪水表salaries简况如下:获取所有非manager员工薪水情况,给出dept_no、emp_no以及salary,以上例子输出:解题思路1.连接employees,dept_emp和salar原创 2021-02-27 19:31:47 · 179 阅读 · 0 评论 -
牛客网-数据库SQL实战23
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档对所有员工的当前薪水按照salary进行按照1-N的排名题目描述解题思路参考代码题目描述有一个薪水表salaries简况如下:对所有员工的薪水按照salary进行按照1-N的排名,相同salary并列且按照emp_no升序排列:解题思路1.通过子查询查询比当前选定的员工薪水低的人数+1得到每个员工的排名2.通过ORDER BY将检索出来的表项按照排名进行排序参考代码SELECT S1.emp_no, S1.salary原创 2021-02-27 19:01:42 · 97 阅读 · 0 评论 -
牛客网-数据库SQL实战22
统计各个部门的工资记录数题目描述解题思路参考代码题目描述统计各个部门的工资记录数,给出部门编码dept_no、部门名称dept_name以及部门在salaries表里面有多少条记录sum,按照dept_no升序排序CREATE TABLE `departments` (`dept_no` char(4) NOT NULL,`dept_name` varchar(40) NOT NULL,PRIMARY KEY (`dept_no`));CREATE TABLE `dept_emp` (`e原创 2021-01-31 09:24:49 · 132 阅读 · 2 评论 -
牛客网-数据库SQL实战21
查找所有员工自入职以来的薪水涨幅情况题目描述解题思路参考代码题目描述查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_no以及其对应的薪水涨幅growth,并按照growth进行升序(注:可能有employees表和salaries表里存在记录的员工,有对应的员工编号和涨薪记录,但是已经离职了,离职的员工salaries表的最新的to_date!=‘9999-01-01’,这样的数据不显示在查找结果里面)CREATE TABLE `employees` (`emp_no` int(11)原创 2021-01-28 09:47:39 · 95 阅读 · 0 评论 -
牛客网-数据库SQL实战20
查找员工编号emp_now为10001其自入职以来的薪水salary涨幅值growth题目描述解题思路参考代码题目描述查找员工编号emp_no为10001其自入职以来的薪水salary涨幅(总共涨了多少)growth(可能有多次涨薪,没有降薪)CREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL原创 2021-01-27 09:14:38 · 69 阅读 · 0 评论 -
牛客网-数据库SQL实战19
查找所有员工的last_name和first_name以及对应的dept_name题目描述解题思路参考代码题目描述查找所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工CREATE TABLE `departments` (`dept_no` char(4) NOT NULL,`dept_name` varchar(40) NOT NULL,PRIMARY KEY (`dept_no`));CREATE TABLE `dept_emp原创 2021-01-27 09:13:35 · 95 阅读 · 0 评论 -
牛客网-数据库SQL实战20
查找员工编号emp_now为10001其自入职以来的薪水salary涨幅值growth题目描述解题思路参考代码题目描述查找员工编号emp_no为10001其自入职以来的薪水salary涨幅(总共涨了多少)growth(可能有多次涨薪,没有降薪)CREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date NOT NULL,`to_date` date NOT NULL原创 2021-01-27 09:12:44 · 76 阅读 · 0 评论 -
牛客网-数据库SQL实战18
查找当前薪水排名第二多的员工编号emp_no题目描述解题思路参考代码题目描述查找当前薪水(to_date=‘9999-01-01’)排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,你可以不使用order by完成吗CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`las原创 2021-01-27 08:44:34 · 85 阅读 · 0 评论 -
牛客网-数据库SQL实战17
获取当前薪水第二多的员工的emp_no以及其对应的薪水salary题目描述解题思路参考代码题目描述获取当前(to_date=‘9999-01-01’)薪水第二多的员工的emp_no以及其对应的薪水salaryCREATE 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 (`em原创 2021-01-27 08:33:28 · 77 阅读 · 0 评论 -
牛客网-数据库SQL实战16
统计出当前各个title类型对应的员工当前薪水对应的平均工资题目描述解题思路参考代码题目描述统计出当前(titles.to_date=‘9999-01-01’)各个title类型对应的员工当前(salaries.to_date=‘9999-01-01’)薪水对应的平均工资。结果给出title以及平均工资avg。CREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int(11) NOT NULL,`from_date` date原创 2021-01-26 16:11:45 · 100 阅读 · 0 评论 -
牛客网-数据库SQL实战15
查找employees表所有emp_no为奇数题目描述解题思路参考代码题目描述查找employees表所有emp_no为奇数,且last_name不为Mary(注意大小写)的员工信息,并按照hire_date逆序排列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原创 2021-01-26 15:32:37 · 64 阅读 · 0 评论 -
牛客网-数据库SQL实战14
从titles表获取按照title进行分组,注意对于重复的emp_no进行忽略题目描述解题思路参考代码题目描述从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。注意对于重复的emp_no进行忽略(即emp_no重复的title不计算,title对应的数目t不增加)。CREATE TABLE IF NOT EXISTS `titles` (`emp_no` int(11) NOT NULL,`title` varchar(50) NOT NULL,原创 2021-01-26 15:17:52 · 65 阅读 · 0 评论 -
牛客网-数据库SQL实战13
从titles表获取按照title进行分组题目描述解题思路参考代码题目描述从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。CREATE TABLE IF NOT EXISTS "titles" (`emp_no` int(11) NOT NULL,`title` varchar(50) NOT NULL,`from_date` date NOT NULL,`to_date` date DEFAULT NULL);如插入:INSERT IN原创 2021-01-26 15:00:08 · 82 阅读 · 1 评论 -
牛客网-数据库SQL实战12
获取所有部门中当前员工薪水最高的相关信息题目描述解题思路参考代码题目描述获取所有部门中当前(dept_emp.to_date = ‘9999-01-01’)员工当前(salaries.to_date=‘9999-01-01’)薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary,按照部门编号升序排列。CREATE TABLE `dept_emp` (`emp_no` int(11) NOT NULL,`dept_no` char(4) NOT NULL,`from_d原创 2021-01-26 14:51:42 · 119 阅读 · 0 评论 -
牛客网-数据库SQL实战11
获取所有员工当前的manager题目描述解题思路参考代码题目描述获取所有员工当前的(dept_manager.to_date=‘9999-01-01’)manager,如果员工是manager的话不显示(也就是如果当前的manager是自己的话结果不显示)。输出结果第一列给出当前员工的emp_no,第二列给出其manager对应的emp_no。CREATE TABLE `dept_emp` (`emp_no` int(11) NOT NULL, -- '所有的员工编号'`dept_no` cha原创 2021-01-20 15:23:51 · 114 阅读 · 2 评论 -
牛客网-数据库SQL实战10
获取所有部门当前manager的当前薪水情况题目描述解题思路参考代码1.NOT IN实现2. NOT EXISTS实现题目描述获取所有非manager的员工emp_noCREATE 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`原创 2021-01-20 15:05:56 · 72 阅读 · 1 评论 -
牛客网-数据库SQL实战9
牛客网-数据库SQL实战9题目描述解题思路参考代码题目描述获取所有部门当前(dept_manager.to_date=‘9999-01-01’)manager的当前(salaries.to_date=‘9999-01-01’)薪水情况,给出dept_no, emp_no以及salary,输出结果按照dept_no升序排列(请注意,同一个人可能有多条薪水情况记录)CREATE TABLE `dept_manager` (`dept_no` char(4) NOT NULL,`emp_no` int原创 2021-01-20 14:49:58 · 85 阅读 · 0 评论 -
牛客网-数据库SQL实战8
牛客网-数据库SQL实战8题目描述解题思路参考代码题目描述找出所有员工当前(to_date=‘9999-01-01’)具体的薪水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_原创 2021-01-20 09:55:23 · 73 阅读 · 0 评论 -
牛客网-数据库SQL实战7
牛客网-数据库SQL实战6题目描述解题思路参考代码题目描述查找薪水变动超过15次的员工号emp_no以及其对应的变动次数tCREATE 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`));解题思路1.根据题目描述可知,需要根据s原创 2021-01-20 09:47:44 · 971 阅读 · 0 评论 -
牛客网-数据库SQL实战6
牛客网-数据库SQL实战6题目描述解题思路参考代码题目描述查找所有员工入职时候的薪水情况,给出emp_no以及salary, 并按照emp_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,`gend原创 2021-01-20 09:30:48 · 115 阅读 · 0 评论 -
牛客网-数据库SQL实战5
牛客网-数据库SQL实战5题目描述解题思路参考代码左联接右联接题目描述查找所有员工的last_name和first_name以及对应部门编号dept_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原创 2021-01-20 09:15:37 · 93 阅读 · 0 评论 -
牛客网-数据库SQL实战4
牛客网-数据库SQL实战4题目描述解题思路代码题目描述查找所有已经分配部门的员工的last_name和first_name以及dept_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`原创 2021-01-19 21:23:51 · 65 阅读 · 0 评论 -
牛客网-数据库SQL实战3
牛客网-数据库SQL实战3题目描述解题思路代码题目描述查找各个部门当前(dept_manager.to_date=‘9999-01-01’)领导当前(salaries.to_date=‘9999-01-01’)薪水详情以及其对应部门编号dept_no(注:输出结果以salaries.emp_no升序排序,并且请注意输出结果里面dept_no列是最后一列)CREATE TABLE `salaries` (`emp_no` int(11) NOT NULL, -- '员工编号',`salary` i原创 2021-01-19 21:11:56 · 97 阅读 · 0 评论 -
牛客网-数据库SQL实战1
题目描述查找最晚入职员工的所有信息,为了减轻入门难度,目前所有的数据里员工入职的日期都不是同一天(sqlite里面的注释为--,mysql为comment)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` cha.原创 2021-01-19 10:09:44 · 111 阅读 · 0 评论 -
牛客网-数据库SQL实战2
题目描述查找最晚入职员工的所有信息,为了减轻入门难度,目前所有的数据里员工入职的日期都不是同一天(sqlite里面的注释为–,mysql为comment)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(.原创 2021-01-19 10:00:29 · 1099 阅读 · 3 评论