zoukankan      html  css  js  c++  java
  • 牛客SQL题解

    题目描述

    有一个全部员工的薪水表salaries简况如下:
     
    有一个各个部门的领导表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`));
    请你查找各个部门当前(dept_manager.to_date='9999-01-01')领导当前(salaries.to_date='9999-01-01')薪水详情以及其对应部门编号dept_no,输出结果以salaries.emp_no升序排序,并且请注意输出结果里面dept_no列是最后一列,以上例子输入如下:

     问题解答

    方法一

    SELECT s.*,d.dept_no FROM salaries s,dept_manager d 
    WHERE s.to_date='9999-01-01'
    AND d.to_date='9999-01-01'
    AND s.emp_no=d.emp_no;

    方法二

    SELECT S.emp_no,S.salary,S.from_date,S.to_date,DM.dept_no
        FROM salaries S INNER JOIN dept_manager DM
        ON S.emp_no=DM.emp_no
        WHERE S.to_date='9999-01-01' AND DM.to_date='9999-01-01';
  • 相关阅读:
    Unix IPC之共享内存区(1)
    linux下的二进制文件的编辑和查看
    Posix 信号量
    Unix IPC之Posix信号量实现生产者消费者
    整型信号量与记录型信号量
    C++之友元
    C++之异常处理
    C++之STL(标准模板库)
    C++之继承
    C++之封装
  • 原文地址:https://www.cnblogs.com/Bluebells/p/14370113.html
Copyright © 2011-2022 走看看