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后面跟上顺序不能错。