Oracle 기준(대소문자 구분)으로 다음 ㉠과 ㉡의 결과 값을 순서대… | [SQLD] SQL 개발자 기출유형 모의고사 4회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 4회
Oracle 기준(대소문자 구분)으로 다음 ㉠과 ㉡의 결과 값을 순서대로 나열한 것은?[항공편]
| 편명 |
|---|
| KE101 |
| OZ330 |
| KE7 |
| TWOZ |
| LJ007 |
| ke205 |
| OZ88 |
| KE1234 |
㉠
SELECT COUNT(*) FROM 항공편 WHERE REGEXP_LIKE(편명, '^KE|OZ$');
㉡
SELECT COUNT(*) FROM 항공편
WHERE REGEXP_LIKE(편명, '^(KE|OZ)[0-9]{2,3}$');1
5, 4
2
5, 3
3
4, 3
4
4, 4
해설
㉠의 | 는 연산 우선순위가 가장 낮아 ^KE 또는 OZ$ 로 나뉘므로 KE 로 시작하는 KE101·KE7·KE1234 와 OZ 로 끝나는 TWOZ 의 4건이다.
㉡은 괄호로 묶어 KE·OZ 로 시작한 뒤 숫자가 2~3개로 끝나야 하므로 KE101·OZ330·OZ88 의 3건이며, 소문자 ke205 는 대소문자 구분으로 빠진다.
- ㉠을 5건으로 보면 ^ 가 OZ 에도 걸려 OZ330·OZ88 을 세고 TWOZ 를 뺀 셈이다.
- ㉡을 4건으로 보면 숫자 4개인 KE1234 를 {2,3} 에 맞는다고 본 것이다.
- KE7 은 숫자가 1개라 ㉡에 맞지 않고, LJ007 은 두 패턴 모두에 맞지 않는다.
오류나 개정된 내용이 보이면 알려주세요