다음 SQL의 실행 결과로 옳은 것은?[예매]예매번호인원단가할인1212… | [SQLD] SQL 개발자 기출유형 모의고사 9회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 9회
다음 SQL의 실행 결과로 옳은 것은?

[예매]

예매번호인원단가할인
12120001000
2112000(null)
3(null)90000
4390003000
SELECT 예매번호,
       인원 * 단가 AS 정가합,
       인원 * 단가 - 할인 AS 결제액
  FROM 예매
 ORDER BY 예매번호;
1
예매번호정가합결제액
12400023000
212000(null)
3(null)(null)
42700024000
2
예매번호정가합결제액
12400023000
21200012000
3(null)(null)
42700024000
3
예매번호정가합결제액
12400023000
212000(null)
300
42700024000
4
예매번호정가합결제액
12400022000
212000(null)
3(null)(null)
42700018000
해설

산술식에 NULL 이 하나라도 있으면 결과는 NULL이므로 할인이 NULL 인 예매번호 2 는 결제액이, 인원이 NULL 인 3 은 정가합과 결제액이 모두 NULL 이다.

곱셈이 뺄셈보다 먼저 계산되어 1은 24000-1000=23000, 4는 27000-3000=24000 이다.

  • NULL 을 0으로 보고 빼면 2의 결제액이 12000 이 되지만 실제는 NULL 이다.
  • NULL 과의 곱도 0이 아니라 NULL 이므로 3을 0으로 보면 틀린다.
  • 단가-할인을 먼저 계산하면 22000·18000 이 나오지만 우선순위와 다르다.

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

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 9회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기