모두CBT

다음 SQL 문장 중 구문이 옳은 것은? | [국회직 9급 컴퓨터일반] 17년 1회차 기출문제 상세 페이지

1[국회직 9급 컴퓨터일반] 17년 1회차
다음 SQL 문장 중 구문이 옳은 것은?
1
DELETE FROM STUDENT, ENROL WHERE SNO = 100;
2
SELECT COUNT(DISTINCT CNO) FROM ENROL WHERE SNO = 100;
3
SELECT SNO, SNAME FROM STUDENT WHERE DEPT = NULL;
4
INSERT STUDENT INTO VALUES(100, ‘홍길동’, 2, ‘전산과’)
5
SELECT DNO, SUM(SNAME) FROM STUDENT GROUP BY DNO WHERE SUM(SNAME)<100;
해설

구문이 옳은 문장은 SELECT COUNT(DISTINCT CNO) FROM ENROL WHERE SNO = 100;이다.

집계 함수 COUNT 안에 DISTINCT를 써서 중복을 제외한 CNO의 개수를 구하는 올바른 형식이다.

  • DELETE FROM STUDENT, ENROL …: 표준 DELETE 문은 FROM 절에 테이블 하나만 지정한다.
  • WHERE DEPT = NULL: NULL 비교는 IS NULL로 써야 하며, = 비교는 참이 되지 않는다.
  • INSERT STUDENT INTO VALUES(…): 올바른 순서는 INSERT INTO STUDENT VALUES(…)이다.
  • GROUP BY DNO WHERE SUM(SNAME)<100: WHERE는 GROUP BY 앞에 오고 집계 함수를 쓸 수 없으므로, 그룹 조건은 HAVING으로 써야 한다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[국회직 9급 컴퓨터일반] 17년 1회차 20문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요국회직 9급 컴퓨터일반 기출문제 암기장 전체 보기