牛客:数据库实战—2—查找各个部门当前(to_date=’9999-01-01′)领导当前薪水详情以及其对应部门编号dept_no「建议收藏」

牛客:数据库实战—2—查找各个部门当前(to_date=’9999-01-01′)领导当前薪水详情以及其对应部门编号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`));CREATE TABLE `salaries` (`…

大家好,又见面了,我是你们的朋友全栈君。

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.emp_no,s.salary,s.from_date,s.to_date,dm.dept_no FROM
  salaries s,dept_manager dm WHERE
  s.to_date='9999-01-01' AND
  dm.to_date='9999-01-01' AND 
  dm.emp_no = s.emp_no;

做这个题目真是折腾,salaries是主表,dept_manager 是从表,

问题是在于dep_manager为主表的时候,会出现对应的salaries相应的列有null的情况。

因此From后面跟上顺序不能错。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/147224.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号