Tags
- N:1
- 그리디
- distinct
- Django
- DB
- 스택
- 트리
- Article & User
- drf
- Queue
- create
- 뷰
- count
- update
- migrations
- delete
- SQL
- 큐
- outer join
- regexp
- Vue
- stack
- 통계학
- ORM
- 이진트리
- 완전검색
- 쟝고
- 백트래킹
- M:N
- Tree
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Notice
Recent Posts
Link
데이터 분석 기술 블로그
Weather Observation Station 6 _ Easy. HackerRank * 본문
Solution
SELECT DISTINCT(CITY)
FROM STATION
WHERE CITY LIKE 'A%'
OR CITY LIKE 'E%'
OR CITY LIKE 'I%'
OR CITY LIKE 'O%'
OR CITY LIKE 'U%';
처음에 이렇게 해서 정답이었다. 하지만 뭐가 최적화할 수 있을 것 같아서 검색해 보았다.
Another Solution
SELECT DISTINCT CITY
FROM STATION
WHERE CITY REGEXP '^[AEIOU]';
REGEXP은 정규표현식을 사용하여 문자열 패턴을 검색하는 함수다. REGEXP를 사용하면 복잡한 문자열 검색이나 패턴 매칭을 할 수 있고, 단순한 LIKE 연산자보다 훨씬 강력하고 유연한 검색 기능을 제공한다.
SELECT column_name
FROM table_name
WHERE column_name REGEXP 'pattern';
- column_name: 검색할 텍스트가 포함된 열.
- pattern: 정규 표현식으로 정의한 패턴.
- ^: 문자열의 시작을 나타냅니다.
- 예: **^A**는 "A"로 시작하는 문자열을 찾습니다.
- $: 문자열의 끝을 나타냅니다.
- 예: **z$**는 "z"로 끝나는 문자열을 찾습니다.
- [abc]: 문자 집합 중 하나에 해당하는 문자를 찾습니다.
- 예: **[aeiou]**는 모음 중 하나로 시작하는 문자열을 찾습니다.
- [a-z]: 특정 문자 범위를 나타냅니다.
- 예: **[A-Z]**는 모든 대문자로 시작하는 문자열을 찾습니다.
- .: 아무 문자 하나와 일치합니다.
- 예: **a.c**는 "a"로 시작하고, 아무 문자 하나가 있고, "c"로 끝나는 문자열을 찾습니다 (예: abc, axc).
- |: OR 조건을 나타냅니다.
- 예: **cat|dog**는 "cat" 또는 **"dog"**를 찾습니다.
- *: 0개 이상의 문자와 일치합니다.
- 예: **ca*t**는 "ct" 또는 "cat", **"caaat"**과 같은 문자열을 찾습니다.
- +: 1개 이상의 문자와 일치합니다.
- 예: **ca+t**는 "cat", **"caaat"**과 같은 문자열을 찾지만 **"ct"**는 찾지 않습니다.
'SQL > 문제풀이' 카테고리의 다른 글
평균 일일 대여 요금 구하기 _ Lv1. 프로그래머스 (0) | 2024.09.29 |
---|---|
Employee Bonus _ Easy. leetcode (0) | 2024.09.28 |
많이 주문한 테이블 찾기 _ Lv1 * (0) | 2024.09.26 |
자동차 대여 기록에서 장기/단기 대여 구분하기 _ Lv1. 프로그래머스 * (0) | 2024.09.25 |
Average Time of Process per Machine _ Easy. leetcode (0) | 2024.09.24 |