inflearn logo
강의

Course

Instructor

[A hundred words are not as good as seeing once] Basic SQL for data analysis

OR 조건 간소화

Resolved

47

qjarl1119

1 asked

0

안녕하세요, 강의를 듣고 있는 인프런 학습자입니다!
중복이 없는 시티 필드를 출력하는 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 조건은 항상 각각 조건을 명시해줘야하는걸까요?
정규식을 제외하고 따로 간소화가 불가할지 궁금해서 질문 드립니다.

sql mysql 카카오공채-서비스

Answer 1

1

communityai8509

안녕하세요, 인프런 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