( TCH | 2020. 10. 13., k – 14:28 )

Így sikerült összeállítani a denormalizált táblát:
DROP TABLE IF EXISTS `e`;
CREATE TABLE `e`
(
	`emp_no` int(11) NOT NULL,
	`birth_date` date NOT NULL,
	`first_name` varchar(14) NOT NULL,
	`last_name` varchar(16) NOT NULL,
	`gender` enum('M','F') NOT NULL,
	`hire_date` date NOT NULL,
	`title` varchar(50) NOT NULL,
	`salary` int(11) NOT NULL,
	`dept_no` char(4) NOT NULL,
	`dept_name` varchar(40) NOT NULL,
	PRIMARY KEY (`emp_no`),
	INDEX `birth_date` (`birth_date`),
	FULLTEXT `first_name` (`first_name`),
	FULLTEXT `last_name` (`last_name`),
	INDEX `gender` (`gender`),
	INDEX `hire_date` (`hire_date`),
	FULLTEXT `title` (`title`),
	INDEX `salary` (`salary`),
	FULLTEXT `dept_no` (`dept_no`),
	FULLTEXT `dept_name` (`dept_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO `e`
(
	SELECT
		`employees`.*,
		(SELECT `titles`.`title` FROM `titles` WHERE `titles`.`emp_no`=`employees`.`emp_no` ORDER BY `titles`.`from_date` DESC LIMIT 1) AS `title`,
		(SELECT `salaries`.`salary` FROM `salaries` WHERE `salaries`.`emp_no`=`employees`.`emp_no` ORDER BY `salaries`.`from_date` DESC LIMIT 1) AS `salary`,
		(SELECT `dept_emp`.`dept_no` FROM `dept_emp` WHERE `dept_emp`.`emp_no`=`employees`.`emp_no` ORDER BY `dept_emp`.`from_date` DESC LIMIT 1) AS `dept_no`,
		(
			SELECT `departments`.`dept_name` FROM `departments` WHERE `departments`.`dept_no`=
			(
				SELECT `dept_emp`.`dept_no` FROM `dept_emp` WHERE `dept_emp`.`emp_no`=`employees`.`emp_no` ORDER BY `dept_emp`.`from_date` DESC LIMIT 1
			)
			LIMIT 1
		) AS `dept_name`
	FROM `employees`
);
Csak sajnos ez 25+ sec. Igaz, hogy csak egyszer kell lefuttatni.