정보시스템감리사_데이터베이스

정보시스템 감리사 2023년 65번 문제

슬픈달 2023. 6. 2. 16:12
반응형

 

* 위 문제는 가.나.다 를 보면 부양자(본인)과 피부양자의 이름이 같은 경우를 찾는 문제이다.

   -> 문제에서 설명을 거지같이 함 ㅅㅂ

 

 

CREATE TABLE EMPLOYEE (
  Name varchar(15) NOT NULL,
  Ssn char(9) NOT NULL,
  PRIMARY KEY (Ssn)
) ENGINE=InnoDB DEFAULT CHARSET=euckr
//

INSERT INTO EMPLOYEE (Ssn, Name)
VALUES 
('2020-001', '홍길동'),
('2019-001', '장영실'),
('2020-002', '강감찬'),
('2020-003', '류관순'),
('2019-002', '감좌진'),
('2019-003', '이몽령'),
('2019-004', '이산'),
('2020-004', '이순신');

 

CREATE TABLE DEPENDENT (
  Essn char(9) NOT NULL,
  Name varchar(15) NOT NULL,
  PRIMARY KEY (Essn,Name),
  CONSTRAINT DEPENDENT_ibfk_1 FOREIGN KEY (Essn) REFERENCES EMPLOYEE (Ssn)
) ENGINE=InnoDB DEFAULT CHARSET=euckr COMMENT='2023년 65번'
//

INSERT INTO DEPENDENT (Essn,Name)
VALUES 
('2020-001', '홍갑돌'),
('2020-001', '홍갑순'),
('2020-002', '강감순'),
('2020-003', '류승룡'),
('2019-002', '감좌진'),
('2019-003', '이산'),
('2019-004', '이순신'),
('2020-004', '이미자');

 

가. SELECT E.Name
FROM EMPLOYEE AS E
WHERE E.Ssn IN (SELECT Essn FROM DEPENDENT AS D
WHERE E.Name=D.Name );
나. SELECT E.Name
FROM EMPLOYEE AS E
WHERE EXISTS (SELECT * FROM DEPENDENT AS D
WHERE E.Ssn=D.Essn AND E.Name=D.Name );
다. SELECT E.Name
FROM EMPLOYEE AS E, DEPENDENT AS D
WHERE E.Ssn=D.Essn AND E.Name=D.Name;

반응형