zoukankan      html  css  js  c++  java
  • sql算法练习——获取非manager员工emp_no

    题目:

    获取所有非manager的员工emp_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`));

    代码:

    方法一:使用NOT IN选出在 employees 但不在 dept_manager 中的 emp_no 记录

    1 select employees.emp_no from employees
    2 where employees.emp_no not in
    3 (select emp_no from dept_manager);

    方法二:使用 left join 选择 dept_no 为 null 的值

    1 SELECT employees.emp_no FROM employees 
    2 LEFT JOIN dept_manager
    3 ON employees.emp_no = dept_manager.emp_no
    4 WHERE dept_no IS NULL
  • 相关阅读:
    hibernate 映射<二>一对一主键关联
    C# Convert Type to T
    008 OS模块
    001基础知识补充与拓展
    005Buffer(缓冲区)
    009path模块
    002nodejs简介与安装
    007http模块
    004NPM包管理器
    003nodejs的模块化
  • 原文地址:https://www.cnblogs.com/john1015/p/13718942.html
Copyright © 2011-2022 走看看