데이터베이스 기초

상품 표에 (상품명, 가격)이 (펜, 120), (노트, 250), (지우개, 80), (파일, 300), (자, 150)인 5개 행이 있다. SELECT 상품명 FROM 상품 WHERE 가격 >= 150 ORDER BY 가격 DESC의 결과로 반환되는 행을 순서대로 나열한 것은?

  1. A자, 노트, 파일
  2. B파일, 노트
  3. C파일, 노트, 자
정답과 해설 보기

정답: C. 파일, 노트, 자

WHERE 가격 >= 150으로 가격이 150 이상인 행만 선택됩니다. 딱 150인 자도 포함되므로 선택되는 것은 노트(250), 파일(300), 자(150)의 3개 행입니다. 다음으로 ORDER BY 가격 DESC로 가격이 큰 순서(내림차순)로 정렬하므로 파일(300), 노트(250), 자(150)의 순서가 됩니다. ORDER BY에서 ASC를 지정하거나 아무것도 지정하지 않으면 작은 순서(오름차순)가 됩니다. ORDER BY를 붙이지 않으면 결과 행의 순서는 보장되지 않습니다. SELECT 뒤에는 꺼낼 열(여기서는 상품명)을, FROM 뒤에는 표를, WHERE 뒤에는 행을 고르는 조건을 씁니다.

이 분야 연습하기 분야로 돌아가기

데이터베이스 기초의 다른 문제

  1. 사원 표의 부서 열에 위의 행부터 차례로 영업, 개발, 영업, 총무, 개발, 영업의 값이 들어 있다(전체 6행). SELECT DISTINCT 부서 FROM 사원의 결과는 몇 행이 되는가?
  2. SQL에서 DELETE FROM 사원을 WHERE 절 없이 실행했을 때의 결과로 올바른 것은?
  3. 시험 표의 점수 열에 80, NULL, 70, 90의 4개 값이 있다(NULL은 미응시를 나타낸다). SELECT AVG(점수) FROM 시험의 결과는?
  4. 성적 표의 점수 열에 50, NULL, 70, NULL, 90, 30의 6개 값이 있다. SELECT COUNT(*), COUNT(점수), AVG(점수) FROM 성적의 결과를 순서대로 나열한 것은?
  5. 사원 표(사원번호, 부서, 급여)에서 부서별 평균 급여가 300 이상인 부서와 그 평균 급여를 구하려고 한다. 올바른 SQL 문은?