##본 포스팅은 "SQL 첫걸음 - 아사이 아츠시" 책을 보고 요약한 것입니다.
조건 조합하기
조건을 조합하는 데에 가장 많이 사용되는 연산자는 아래와 같다.
- AND : '그리고', 논리곱 연산자
- OR : '또는', 논리합 연산자
- NOT : '~아닌', 오른쪽에 지정한 조건식의 반대값을 반환
AND와 OR에 있어서 주의해야할 점이 있다.
- AND는 OR에 비해 우선 순위가 높다.
- 열이나 상수만을 지정해도 에러가 발생하지는 않지만, 기대한 결과값을 얻을 수 없을 때가 있기에 항상 열과 상수를 동시에 지정해주는 것이 좋다.
패턴 매칭에 의한 검색
= 연산자로 검색하는 경우는 셀의 데이터 값이 완전히 동일한지를 비교한다.
하지만, '특정 문자나 문자열이 포함되어있는지를 검색하고 싶은'경우엔 '패턴 매칭' 또는 '부분 검색'을 사용하며,
LIKE 술어를 사용한다.
<LIKE 술어>
- 수치형 상수는 지정할 수 없다
- 메타문자(%, _)를 사용할 수 있따.
메타문자는 '와일드카드'라고도 불리며,
패턴 매칭 시 '임의의 문자 또는 문자열'에 매치하는 부분을 지정하기 위해 쓰이는 특수 문자이다.
퍼센트는(%)는 임의의 문자열을 의미하며, 언더스코어(_)는 임의의 문자 하나를 의미한다.
WHERE text LIKE '%SQL%';
패턴 매칭을 위해 사용하는 메타문자에 있어서, 앞 뒤에 임의의 문자열이 존재하면 %를 사용하여 표현할 수 있다.
메타문자와 동일한 문자인 '%'나 '_'를 검색할 경우엔, 이스케이프 문자인 '\'를 앞에 붙여 일반 문자열이라는 것을 표현하면 된다.
참고로, 문자열 상수 안에 '를 포함하고 싶다면,
'를 2개 연속해서 기술하면 된다.
간단한 패턴 매칭이라면 LIKE로 충분하지만,
더 복잡한 패턴을 매칭하는 경우엔 정규 표현식을 사용하는 편이 낫다.