当前位置: 首页 > news >正文

江西建设信息港网站国外点击链接推广平台

江西建设信息港网站,国外点击链接推广平台,seo网站地图,php网站 怎么做授权1. 牛客SQL热题206#xff1a;获取每个部门中当前员工薪水最高的相关信息 1.1 题目#xff1a; 描述 有一个员工表dept_emp简况如下: emp_nodept_nofrom_dateto_date10001d0011986-06-269999-01-0110002d0011996-08-039999-01-0110003d0021996-08-039999-01-01 有一个薪水…1. 牛客SQL热题206获取每个部门中当前员工薪水最高的相关信息 1.1 题目 描述 有一个员工表dept_emp简况如下: emp_nodept_nofrom_dateto_date10001d0011986-06-269999-01-0110002d0011996-08-039999-01-0110003d0021996-08-039999-01-01 有一个薪水表salaries简况如下: emp_nosalaryfrom_dateto_date10001889582002-06-229999-01-0110002725272001-08-029999-01-0110003925272001-08-029999-01-01 获取每个部门中当前员工薪水最高的相关信息给出dept_no, emp_no以及其对应的salary按照部门编号dept_no升序排列以上例子输出如下: dept_noemp_nomaxSalaryd0011000188958d0021000392527 示例1 输入drop table if exists dept_emp ; drop table if exists salaries ; 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 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)); INSERT INTO dept_emp VALUES(10001,d001,1986-06-26,9999-01-01); INSERT INTO dept_emp VALUES(10002,d001,1996-08-03,9999-01-01); INSERT INTO dept_emp VALUES(10003,d002,1996-08-03,9999-01-01);INSERT INTO salaries VALUES(10001,88958,2002-06-22,9999-01-01); INSERT INTO salaries VALUES(10002,72527,2001-08-02,9999-01-01); INSERT INTO salaries VALUES(10003,92527,2001-08-02,9999-01-01); 复制输出d001|10001|88958 d002|10003|92527 1.2 思路 一个相关子查询即可搞定。 1.3 题解 with tep1 as (-- 两表连接select t1.emp_no, dept_no, salaryfrom dept_emp t1join salaries t2on t1.emp_no t2.emp_no )select dept_no, emp_no, salary maxSalary from tep1 t1 where salary (-- 相关子查询查找外部记录所在部门的最高薪水select max(salary)from tep1 t2where t1.dept_no t2.dept_no ) order by dept_no 2. 牛客SQL热题205获取所有员工当前的manager 2.1 题目 描述 有一个员工表dept_emp简况如下: emp_nodept_no from_date to_date10001d0011986-06-269999-01-0110002d0011996-08-039999-01-0110003d0021995-12-039999-01-01 第一行表示为员工编号为10001的部门是d001部门。 有一个部门经理表dept_manager简况如下: dept_noemp_nofrom_date to_dated001100021996-08-039999-01-01d002100031990-08-059999-01-01 第一行表示为d001部门的经理是编号为10002的员工。 获取所有的员工和员工对应的经理如果员工本身是经理的话则不显示以上例子如下: emp_nomanager1000110002 示例1 输入drop table if exists dept_emp ; drop table if exists dept_manager ; 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)); INSERT INTO dept_emp VALUES(10001,d001,1986-06-26,9999-01-01); INSERT INTO dept_emp VALUES(10002,d001,1996-08-03,9999-01-01); INSERT INTO dept_emp VALUES(10003,d002,1995-12-03,9999-01-01); INSERT INTO dept_manager VALUES(d001,10002,1996-08-03,9999-01-01); INSERT INTO dept_manager VALUES(d002,10003,1990-08-05,9999-01-01); 复制输出10001|10002 2.2 思路 秒。 2.3 题解 select t1.emp_no emp_no, t2.emp_no manager from dept_emp t1 join dept_manager t2 on t1.dept_no t2.dept_no and t1.emp_no t2.emp_no 3. 牛客SQL热题199查找所有员工的last_name和first_name以及对应部门编号的dept_no 3.1 题目 描述 有一个员工表employees简况如下: emp_no birth_date first_name last_name genderhire_date 100011953-09-02Georgi     Facello    M1986-06-26100021964-06-02Bezalel    Simmel     F1985-11-2110003  1959-12-03Parto      Bamford    M1986-08-2810004  1954-05-01Christian  Koblick    M1986-12-01 有一个部门表dept_emp简况如下: emp_nodept_no from_date to_date10001d0011986-06-269999-01-0110002d0021989-08-039999-01-01 请你查找所有已经分配部门的员工的last_name和first_name以及dept_no也包括暂时没有分配具体部门的员工以上例子如下: last_name first_name dept_noFacello   Georgi     d001Simmel    Bezalel    d002BamfordPartoNULLKoblickChirstianNULL 示例1 输入drop table if exists dept_emp ; drop table if exists 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)); 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)); INSERT INTO dept_emp VALUES(10001,d001,1986-06-26,9999-01-01); INSERT INTO dept_emp VALUES(10002,d002,1996-08-03,9999-01-01); INSERT INTO employees VALUES(10001,1953-09-02,Georgi,Facello,M,1986-06-26); INSERT INTO employees VALUES(10002,1964-06-02,Bezalel,Simmel,F,1985-11-21); INSERT INTO employees VALUES(10003,1959-12-03,Parto,Bamford,M,1986-08-28); INSERT INTO employees VALUES(10004,1954-05-01,Chirstian,Koblick,M,1986-12-01); 复制输出Facello|Georgi|d001 Simmel|Bezalel|d002 Bamford|Parto|None Koblick|Chirstian|None 3.2 思路 秒。 3.3 题解 select last_name , first_name , dept_no from employees t1 left join dept_emp t2 on t1.emp_no t2.emp_no 4. 牛客SQL热题198查找所有已经分配部门的员工的last_name和first_name以及dept_no 4.1 题目 描述 有一个员工表employees简况如下: emp_no birth_date first_name last_name genderhire_date 100011953-09-02Georgi     Facello    M1986-06-26100021964-06-02Bezalel    Simmel     F1985-11-2110003  1959-12-03Parto      Bamford    M1986-08-2810004  1954-05-01Christian  Koblick    M1986-12-01 有一个部门表dept_emp简况如下: emp_nodept_no from_date to_date10001d0011986-06-269999-01-0110002d0021989-08-039999-01-01 请你查找所有已经分配部门的员工的last_name和first_name以及dept_no未分配的部门的员工不显示以上例子如下: last_name first_name dept_noFacello   Georgi     d001Simmel    Bezalel    d002 示例1 输入drop table if exists dept_emp ; drop table if exists 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)); 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)); INSERT INTO dept_emp VALUES(10001,d001,1986-06-26,9999-01-01); INSERT INTO dept_emp VALUES(10002,d002,1996-08-03,9999-01-01); INSERT INTO employees VALUES(10001,1953-09-02,Georgi,Facello,M,1986-06-26); INSERT INTO employees VALUES(10002,1964-06-02,Bezalel,Simmel,F,1985-11-21); INSERT INTO employees VALUES(10003,1959-12-03,Parto,Bamford,M,1986-08-28); INSERT INTO employees VALUES(10004,1954-05-01,Chirstian,Koblick,M,1986-12-01); 复制输出Facello|Georgi|d001 Simmel|Bezalel|d002 4.2 思路 秒。 4.3 题解 select last_name , first_name , dept_no from employees t1 join dept_emp t2 on t1.emp_no t2.emp_no 5. 牛客SQL热题197查找当前薪水详情以及部门编号dept_no 5.1 题目 描述 有一个全部员工的薪水表salaries简况如下: emp_nosalaryfrom_dateto_date10001889582002-06-229999-01-0110002725272001-08-029999-01-0110003433112001-12-019999-01-01 有一个各个部门的领导表dept_manager简况如下: dept_noemp_noto_dated001100019999-01-01d002100039999-01-01 请你查找各个部门当前领导的薪水详情以及其对应部门编号dept_no输出结果以salaries.emp_no升序排序并且请注意输出结果里面dept_no列是最后一列以上例子输出如下: emp_nosalaryfrom_dateto_datedept_no10001889582002-06-229999-01-01d00110003433112001-12-019999-01-01d002 示例1 输入drop table if exists salaries ; drop table if exists dept_manager ; 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)); CREATE TABLE dept_manager ( dept_no char(4) NOT NULL, emp_no int(11) NOT NULL, to_date date NOT NULL, PRIMARY KEY (emp_no,dept_no)); INSERT INTO dept_manager VALUES(d001,10002,9999-01-01); INSERT INTO dept_manager VALUES(d002,10006,9999-01-01); INSERT INTO dept_manager VALUES(d003,10005,9999-01-01); INSERT INTO dept_manager VALUES(d004,10004,9999-01-01); INSERT INTO salaries VALUES(10001,88958,2002-06-22,9999-01-01); INSERT INTO salaries VALUES(10002,72527,2001-08-02,9999-01-01); INSERT INTO salaries VALUES(10003,43311,2001-12-01,9999-01-01); INSERT INTO salaries VALUES(10004,74057,2001-11-27,9999-01-01); INSERT INTO salaries VALUES(10005,94692,2001-09-09,9999-01-01); INSERT INTO salaries VALUES(10006,43311,2001-08-02,9999-01-01); INSERT INTO salaries VALUES(10007,88070,2002-02-07,9999-01-01); 复制输出10002|72527|2001-08-02|9999-01-01|d001 10004|74057|2001-11-27|9999-01-01|d004 10005|94692|2001-09-09|9999-01-01|d003 10006|43311|2001-08-02|9999-01-01|d002 5.2 思路 秒。 5.3 题解 select t1.emp_no, salary, from_date, t1.to_date, dept_no from salaries t1 join dept_manager t2 on t1.emp_no t2.emp_no order by t1.emp_no 6. 力扣hard题615平均薪资部门与公司比较 6.1 题目 表Salary ------------------- | 列名 | 类型 | ------------------- | id | int | | employee_id | int | | amount | int | | pay_date | date | ------------------- 在 SQL 中id 是该表的主键列。 该表的每一行表示一个员工一个月的薪资。 employee_id 是来自 Employee 表的外键reference 列。 表 Employee --------------------- | 列名 | 类型 | --------------------- | employee_id | int | | department_id | int | --------------------- 在 SQL 中employee_id 是该表的主键列。 该表的每一行表示一个员工所属的部门。 找出各个部门员工的平均薪资与公司平均薪资之间的比较结果更高 / 更低 / 相同。 以 任意顺序 返回结果表。 结果格式如下所示。 示例 1 输入 Salary 表: ------------------------------------- | id | employee_id | amount | pay_date | ------------------------------------- | 1 | 1 | 9000 | 2017/03/31 | | 2 | 2 | 6000 | 2017/03/31 | | 3 | 3 | 10000 | 2017/03/31 | | 4 | 1 | 7000 | 2017/02/28 | | 5 | 2 | 6000 | 2017/02/28 | | 6 | 3 | 8000 | 2017/02/28 | ------------------------------------- Employee 表: ---------------------------- | employee_id | department_id | ---------------------------- | 1 | 1 | | 2 | 2 | | 3 | 2 | ---------------------------- 输出 -------------------------------------- | pay_month | department_id | comparison | -------------------------------------- | 2017-02 | 1 | same | | 2017-03 | 1 | higher | | 2017-02 | 2 | same | | 2017-03 | 2 | lower | -------------------------------------- 解释 在三月公司的平均工资是 (9000600010000)/3 8333.33... 部门 1 的平均薪资是 9000因为该部门只有一个员工其员工号为 1。因为 9000 8333.33所以比较结果为 higher 部门 2 的平均薪资是6000 10000/ 2 8000该平均薪资是员工号 2 和 3 的薪资的平均值。因为 8000 8333.33比较结果为 lower。根据同样的公式对于二月份的平均薪资比较结果为 same因为部门 1 和 2 都与公司的平均薪资相同即为 7000。 6.2 思路 两步走 -- 先求出每个月公司的平均薪资 -- 然后以部门和月份分组比较分组内的平均薪资与该月份公司的平均薪资的大小 6.3 题解 -- 先求出每个月公司的平均薪资 with tep1 as (select substring(pay_date, 1, 7) pay_month , round(avg(amount), 4) avgsfrom Salarygroup by substring(pay_date, 1, 7) ), tep2 as (-- 多表连接select t2.employee_id , department_id, amount , substring(pay_date, 1, 7) pay_month from Salary t1 join Employee t2 on t1.employee_id t2.employee_id )-- 然后以部门和月份分组比较分组内的平均薪资与该月份公司的平均薪资的大小 -- 我没有用round过不了最后一个案例但使用round函数就可以过了。 -- 我也不知道为什么。 select pay_month, department_id, case when round(avg(amount), 4) (select avgs from tep1 t2 where t1.pay_month t2.pay_month) then higher when round(avg(amount), 4) (select avgs from tep1 t2 where t1.pay_month t2.pay_month) then lower else same end comparison from tep2 t1 group by pay_month, department_id
http://www.dnsts.com.cn/news/168530.html

相关文章:

  • 石家庄免费建站建站宝盒小程序
  • 陕西长城建设工程有限公司网站影楼网站建设
  • 2w网站2w网站建设建设聊城网站建设潍坊
  • 个网站做淘宝客推广可以吗网站建设实施步骤
  • 服饰工厂网站建设wordpress 生成app
  • 如何修改网站关键词外销网站建立
  • 外文网站搭建公司在线教育网站流量是怎样做的
  • 手举牌战队图片在线制作seo比较好的优化
  • 泉州公司网站模板建站湘潭网站建设公司
  • 有做酒席酒水网站吗游戏加盟公司
  • 青岛的网站建设益阳房产网站建设
  • 怎么做hello官方网站中小学网站建设方案
  • flashfxp如何发布网站网站数据库一般多大
  • 成都网络优化网站遵义做网站
  • 秦皇岛哪里做网站注册网络公司
  • 廊坊网站建设品牌汕头网站排名优化报价
  • 搜索网站凡科建设网站
  • 网站建设英文专业术语辽宁朝阳网站建设公司
  • 网站的栏目是什么那些企业网站做的漂亮
  • 双语网站模板下载电子商务网站建设说课稿
  • 海淘直邮购物网站知识产权教育平台网站开发总结
  • 广州番禺建设银行网站登录门户网站制作企业
  • wordpress所有函数优化系统流程
  • 网站三要素怎么做企业微信开发
  • 网站怎么做seo步骤建什么网站 做 cpa
  • 雨颜色网站建设网页制作作品免费下载
  • 网站建设那个网站好wordpress注册邮箱
  • 忻州网站建设网站推广丹东seo优化效果费用
  • 江苏嘉文建设发展有限公司网站长春到四平
  • 网站流量统计软件seo排名工具