データベーススペシャリスト令和3年秋期 午前Ⅱ 問8 について
これを実際に動かせるようにSQLを書きました。
https://www.db-siken.com/kakomon/03_aki/am2_8.html
CREATE TABLE `社員取得資格` (
`社員コード` varchar(10) DEFAULT NULL,
`資格` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `社員取得資格` (`社員コード`, `資格`)
VALUES
('S001','FE'),
('S001','AP'),
('S001','DB'),
('S002','SM'),
('S002','FE'),
('S003','FE'),
('S004','AP'),
('S005',NULL);
SELECT C1.社員コード, C1.資格 AS 資格1, C2.資格 AS 資格2
FROM 社員取得資格 C1 LEFT OUTER JOIN 社員取得資格 C2
ON C1.社員コード = C2.社員コード
AND C1.資格 = 'FE' AND C2.資格 = 'AP'
WHERE C1.資格 = 'FE';
SELECT C1.社員コード, C1.資格 AS 資格1, C2.資格 AS 資格2
FROM 社員取得資格 C1 LEFT OUTER JOIN 社員取得資格 C2
ON C1.社員コード = C2.社員コード
AND C1.資格 = 'FE'; AND C2.資格 = 'AP';
WHERE C1.資格 IS NOT NULL;
SELECT C1.社員コード, C1.資格 AS 資格1, C2.資格 AS 資格2
FROM 社員取得資格 C1 LEFT OUTER JOIN 社員取得資格 C2
ON C1.社員コード = C2.社員コード
AND C1.資格 = 'FE' AND C2.資格 = 'AP'
WHERE C2.資格 = 'AP';
SELECT C1.社員コード, C1.資格 AS 資格1, C2.資格 AS 資格2
FROM 社員取得資格 C1 LEFT OUTER JOIN 社員取得資格 C2
ON C1.社員コード = C2.社員コード
WHERE C1.資格 = 'FE' AND C2.資格 = 'AP';