본문 바로가기
반응형

전체 글135

SQLD 문제 풀이 10 1. 다음 중 아래의 ERD를 참조하여 아래 SQL과 동일한 결과를 출력하는 SQL로 가장 부적절한 것은? SELECT A.회원번호, A.회원명 FROM 회원 A, 동의항목 B WHERE A.회원번호 = B.회원번호 GROUP BY A.회원번호, A.회원명 HAVING COUNT(CASE WHEN B.동의여부 = 'N' THEN 0 ELSE NULL END) >= 1 --동의여부가 N인거 카운트 ORDER BY A.회원번호; --1 SELECT A.회원번호, A.회원명 FROM 회원 A WHERE EXISTS ( SELECT 1 FROM 동의항목 B WHERE A.회원번호 = B.회원번호 AND B.동의여부 = 'N') ORDER BY A.회원번호; --EXISTS의 () 사이에는 서브쿼리만 올 수 있습.. 2023. 5. 30.
SQLD 문제 풀이 9 1. 다음 중 SELF JOIN을 수행해야 할 경우로 가장 적절한 것은? 1) 한 테이블 내에서 두 칼럼이 연관 관계가 있다. 2) 두 테이블에 연관된 칼럼은 없으나 JOIN을 해야 한다. 3) 두 테이블에 공통 칼럼이 존재하고 두 테이블이 연관 관계가 있다. 4) 한 테이블 내에서 연관된 칼럼은 없으나 JOIN을 해야 한다. SELF JOIN 문법 SELECT FRON 별칭A INNER JOIN 별칭B WHERE 검색 조건 2. 아래와 같이 일자별 테이블이 존재할 때 아래 결과처럼 일자별 누적매출액을 SQL로 구하려고 한다. WINDOW FUNCITON을 사용하지 않고 일자별 누적매출액을 구하는 SQL로 옳은 것은? --1번 SELECT A.일자, SUM(A.매출액) AS 누적매출액 FROM 일자별매출.. 2023. 5. 22.
SQLD 문제 풀이 8 1. 아래는 어느 회사의 생산설비를 위한 데이터 모델의 일부에 대한 설명으로 가장 적절한 것을 2개 고르시오. 1) 제품, 생산제품, 생산라인 엔터티를 INNER JOIN 하기 위해서 생산제품 엔터티는 WHERE 절에 최소 2번이 나타나야 한다. SELECT * FROM 생산제품, 제품, 생산라인 WHERE 생산제품.제품코드 = 제품.제품코드 AND 생산제품.라인번호 = 생산라인.라인번호 2) 제품과 생산라인 엔터티를 JOIN시 적절한 JOIN조건이 없으므로 카티시안 곱이 발생한다. 카티시안 곱 = 발생 가능한 모든 경우의 수의 행이 출력되는 것. N개의 행을 가진 테이블과 M개의 행을 가진 테이블의 카티시안 곱은 N*M이 된다. 3) 제품과 생산라인 엔터티에는 생산제품과 대응되지 않는 레코드는 없다. .. 2023. 5. 22.
SQLD 문제 풀이 7 1. 다음 중 5개의 테이블로부터 필요한 칼럼을 조회하려고 할 때, 최소 몇 개의 JOIN조 건이 필요한가? 최소 JOIN 조건의 개수는 테이블의 개수 - 1 개가 필요하다! ▷ 4개 2. 아래의 영화 데이터베이스 테이블의 일부에서 밑줄 친 속성들은 테이블의 기본키이며 출연료가 8888 이상인 영화명, 배우명, 출연료를 구하는 SQL 문장은? 배우(배우번호, 배우명, 성별) 영화(영화번호, 영화명, 재작년도) 출연(배우번호, 영화번호, 출연료) SELECT 영화.영화명, 배우.배우명, 출연.출연료 FROM 영화, 배우, 출연 WHERE 출연.영화번호 = 영화.영화번호 AND 출연.배우번호 = 배우.배우번호 AND 출연.출연료 >= 8888; 3. 다음 중 아래에서 JOIN에 대한 설명으로 가장 적절한 것.. 2023. 5. 15.
SQLD 문제 풀이 6 1. 어느 기업의 직원 테이블(EMP)이 직급(GRADE)별로 사원 500명, 대리 100명, 과장 30명, 차장 10명, 부장 5명, 직급이 정해지지 않은(NULL) 사람 25명으로 구성되어 있을 때, 다음 SQL문의 결과는? 1) SELECT COUNT(GRADE) FROM EMP; ▷ NULL 값을 제외한 값들 카운트 : 645 2) SELECT GRADE FROM EMP WHERE GRADE IN ('차장','부장','널'); ▷ 차장, 부장 카운트 : 15 3) SELECT GRADE, COUNT(*) FROM EMP GROUP BY GRADE; ▷group by grade로 null 제외 grade 개수 : 6 2. 아래는 어느 회사의 광고에 대한 데이터 모델이다. 다음 광고매체 ID별 / 최.. 2023. 5. 15.
SQLD 문제 풀이 5 1. 다음 중 아래와 같은 2건의 데이터 상황에서 SQL의 수행 결과로 가장 적절한 것은? TAB1 ROWNUM C1 1 A (줄바꿈) A 2 B (줄바꿈) B (줄바꿈) B SELECT SUM(CC) FROM ( SELECT(LENGTH(C1) - LENGTH(REPLACE(C1,CHAR(10))) +1) CC FROM TAB1 ) 3 - 2 + 1 = 2 5 - 3 + 1 = 3 답 : 5 2. 다음 오라클 환경에서 날짜형 데이터를 다룰 경우, 아래 SQL 결과로 가장 적절한 것은? SELECT TO CHAR(TO_DATE('2015.01.10 10', 'YYYY-MM-DD HH24') + 1/24(60/10), 'YYYY.MM.DD HH24:MI:SS') FROM DUAL +1 : 하루가 더해짐 +.. 2023. 5. 13.
SQLD 문제 풀이 4 1. 아래와 같은 테이블에 SQL 구문이 실행되었을 경우 최종 출력 값을 작성하시오. 품목ID 단가 001 10000 002 20000 003 10000 004 20000 BEGIN TRANSACTION INSERT INTO 품목(품목 ID, 단가) VALUES('005',20000) COMMIT BEGIN TRANSACTION DELETE 품목 WHERE 품목ID = '002' BEGIN TRANSACTION UPDATE 품목 SET 단가 = 20000 WHERE 단가 = 10000 ROLLBACK SELECT COUNT(품목ID) FROM 품목 WHERE 단가 = 20000 ROLLBACK 을 하면 COMMIT 이후에 실행되었던 것들은 다 취소됨 답 : 3 2. 아래의 상품 테이블의 데이터에 대하여 .. 2023. 5. 11.
SQLD 문제 풀이 3 1. 아래와 같은 데이터 모델에서 데이터를 조작하려고 한다. 다음 중 오류가 발생하는 SQL 문장인 것은? BOARD_ID VARCHAR2(10) NOT NULL BOARD_NM VARCHAR2(50) NOT NULL, USE_YN VARCHAR2(1) NOT NULL, REG_DATE DATE NOT NULL, BOARD_DESC_VARCHAR2(100) NULL 체크사항 : 길이, 데이터 유형, NULL 허용 여부 --1 INSERT INTO BOARD VALUES (1, 'Q&A', 'Y', SYSDATE, 'Q&A 게시판'); --2 INSERT INTO BOARD (BOARD_ID, BOARD_NM, USE_YN, BOARD_DESC) VALUES ('100','FAQ','Y','FAQ 게시판'.. 2023. 5. 10.
SQLD 문제풀이 2 테이블명은 객체를 의미할 수 있는 적절한 이름을 사용한다. 가능한 단수형을 권고한다. 테이블명은 다른 테이블의 이름과 중복되지 않아야 한다. 한 테이블 내에서는 칼럼명이 중복되게 저장할 수 없다. 테이블 이름을 지정하고 각 칼럼들은 괄호 "()"로 묶어 저장한다. 각 칼럼들은 콤마 "."로 구분되고, 테이블 생성문의 끝은 항상 세미콜론 ","으로 끝난다. 칼럼에 대해서는 다른 테이블까지 고려하여 데이터베이스 내에서 일관성 있게 사용하는 것이 좋다. (데이터 표준화 관점) (USER_ID, MBR_ID 이렇게 말고 MBR_ID로 통일시키던가?) 칼럼 뒤에 데이터 유형은 꼭 저장되어야 한다. 테이블명과 칼럼명은 반드시 문자로 시작해야 하고, 벤더별로 길이에 대한 한계가 있다. 벤더에서 사전에 정의한 예약어는.. 2023. 5. 10.
SQLD 문제풀이 1 DML (데이터 조작어 : Data Manipulation Language) - select, insert, update, delete DDL (데이터 정의어 : Data Definition Language) - create, alter, drop, rename DCL(데이터 제어어 : Data Control Language) - grant, revoke TCL(트랜잭션 제어어 : Transaction Control Language) -commit, rollback 1. 다음 중 데이터 제어어(DCL)에 해당하는 명령어는? (Data Control Language) 1) INSERT -DML 2) RENAME -DDL 3) COMMIT -TCL 4) REVOKE -DCL 2. 다음 중 아래 내용의 범주에.. 2023. 5. 8.
반응형