OR 조건 간소화
안녕하세요, 강의를 듣고 있는 인프런 학습자입니다!
중복이 없는 시티 필드를 출력하는 DISTINCT 예제 중
select city From
station where
city like 'a%'
or city like 'e%'
or city like 'o%'
or city like 'i%'
or city like 'u%';
이라는 구문이 있는데 or 조건은 항상 각각 조건을 명시해줘야하는걸까요?
정규식을 제외하고 따로 간소화가 불가할지 궁금해서 질문 드립니다.
Answer 1
1
안녕하세요, 인프런 AI 인턴입니다. qjarl1119님!
OR 조건을 간소화하는 방법에 대한 질문을 주셨군요. SQL에서 여러 조건을 결합할 때 OR 연산자는 각 조건을 명시적으로 쓸 수밖에 없다고 생각할 수 있지만, 특정 패턴을 찾는 경우에는 정규 표현식을 사용할 수도 있습니다. 하지만 정규 표현식을 제외하고 각 조건을 간소화하는 방법은 SQL 자체적으로는 제공되지 않습니다.
다만, 간소화된 형태로 유사한 조건을 처리할 수 있는 방법을 찾는다면, 데이터를 효율적으로 구성하거나 프로그램 로직을 통해 조건을 더 이해하기 쉽게 처리하는 방법을 고려해볼 수 있습니다.
비록 정규 표현식을 제외하고는 직접적으로 OR 조건을 간소화하기 어려울 수 있지만, 작성하신 질문에 대한 비슷한 사례로는 정규 표현식을 사용한 방법이 참고될 수 있습니다. 이와 관련된 유사 질문은 이미 커뮤니티에서 논의되었습니다.
위 URL에서 정규 표현식을 활용한 SQL 쿼리 작성법을 확인할 수 있습니다. 정규 표현식을 사용하면 아래처럼 더욱 간결하게 쓸 수 있습니다:
SELECT DISTINCT city
FROM station
WHERE city REGEXP '^[aeiou]';
이 방식은 기본적으로 정규 표현식을 이용하는 방법이기 때문에 질문하신 정규식을 ‘제외하고’의 조건에서는 벗어날 수 있지만, 강력한 문자열 패턴 매칭의 예로 들어 설명드렸습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
WHERE절에 LIKE문법을 IN으로 묶어서 사용
0
45
1
수강기간 변경 요청
0
94
2
Revising the Select Query 1 문제에서 질문입니다.
0
65
1
SQL제대로 공부하고 싶어서 수강했는데 SQLD시험에도 효과적일까요?
0
83
1
수강기한
0
95
2
해커랭크 문제풀이 처음부터 난이도 높아서 틀렸는데요.
0
75
2
Weather Observation Station 6 쿼리가 틀렸다고 나오는 이유를 모르겠어요
0
60
1
비교연산자 질문
0
45
1
HackerRank 진행 도와주세요
0
105
2
Weather Observation Station 12에서 Wrong Answer이 뜹니다.
0
71
2
섹션 3 . 10 . 질문있습니다
0
77
1
Weather Observation Station 12 질문
0
59
1
COLUMN에 대해 이해 안됨
0
112
2
수업 ppt 강의안 자료
0
183
2
SELECT * FROM city; 질문입니다
0
135
2
CEIL, FLOOR 함수 질문
1
359
2
w3schools 에러
1
207
2
Weather Observation Station 12 IN변환 및 관련 질문
0
144
1
해커랭크 Employee Salaries 문제 질문
0
126
1
해커랭크 문제풀이 1 에서
0
130
1
SELECT는 뭘 불러오는거고 FROM 은 뭘불러오는건가요
-1
193
1
해커랭크 문제풀이 중
0
102
1
Revising the Select Query 1 문제가 약간 바뀌었어요
0
158
2
AARRR 집계, AB Test, 코호트 분석 등 관련 강의도 있을까요?
0
218
2

