Oracle 기준으로 다음 SQL의 실행 결과로 옳은 것은?[처방]처방… | [SQLD] SQL 개발자 기출유형 모의고사 6회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 6회
Oracle 기준으로 다음 SQL의 실행 결과로 옳은 것은?[처방]
| 처방번호 | 약품코드 | 투약량 | 횟수 | 일수 |
|---|---|---|---|---|
| 1 | M01 | 2 | 3 | 2 |
| 2 | M01 | 2 | 3 | 2 |
| 3 | M01 | 1 | 3 | 4 |
| 4 | M02 | 1 | 2 | 5 |
| 5 | M02 | 2 | 1 | 5 |
| 6 | M03 | (null) | 2 | 3 |
SELECT DISTINCT 약품코드 || '(' || 일수 || '일)' AS 표기,
투약량 * 횟수 + 일수 AS 값
FROM 처방
ORDER BY 표기, 값;1
| 표기 | 값 |
|---|---|
| M01(2일) | 8 |
| M01(4일) | 7 |
| M02(5일) | 7 |
| M03(3일) | (null) |
2
| 표기 | 값 |
|---|---|
| M01(2일) | 8 |
| M01(4일) | 7 |
| M02(5일) | 7 |
| M03(3일) | 3 |
3
| 표기 | 값 |
|---|---|
| M01(2일) | 10 |
| M01(4일) | 7 |
| M02(5일) | 7 |
| M03(3일) | (null) |
4
| 표기 | 값 |
|---|---|
| M01(2일) | 8 |
| M01(4일) | 7 |
| M02(5일) | 7 |
| M02(5일) | 7 |
| M03(3일) | (null) |
해설
DISTINCT 는 SELECT 결과 행 전체를 비교하므로 원본이 다른 처방 4·5도 표기와 값이 모두 M02(5일)·7 로 같아 한 행만 남는다.
값은 곱셈이 먼저 계산되어 M01(2일)은 2×3+2=8 이고, 투약량이 NULL 인 M03 은 결과가 NULL 이다.
- NULL 이 섞인 산술은 0 으로 바뀌지 않고 NULL 이다.
- 덧셈을 먼저 하면 10 이 나오지만 연산 우선순위와 맞지 않는다.
- 계산 결과가 같은 M02 두 행은 DISTINCT 로 합쳐진다.
오류나 개정된 내용이 보이면 알려주세요
이어서 풀어보기
[SQLD] SQL 개발자 기출유형 모의고사 6회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요비슷한 기출
- sql문에서select에대한설명으로옳지않은것은? {"answer":2,"content":[{"content":"from절에는질의에의해검색될데이터들을포함21년-2회차-정보처리기사-필기
- student테이블에서컴퓨터과학생50명,인터넷과학생100명,사무자동화과학생50명의정보가저장되어있을때,다음sql문의실행결과에따른튜플의수는?(단,dept칼럼은학과명이2020년 정보처리기사실기 1회차
- sql과관련한설명으로틀린것은? {"answer":1,"content":[{"content":"revoke키워드를사용하여열이름을다시부여할수있다.\n","22년-1회차-정보처리기사-필기