반응형 ICT/SQL46 SQL 문법 | 데이터 조회 및 처리 | CASE WHEN THEN ELSE END 본 포스트에서는 조건을 설정하고 조건에 따라 데이터를 처리하고 싶을 때 사용할 수 있는 CASE에 대해서 살펴볼 것이다. 프로그래밍에서 IF절과 비슷한 기능을 하는 CASE는 데이터를 원하는 형식으로 재가공 및 분류를 할 수 있기 때문에 많이 사용되고 꼭 잘 알아야 하는 SQL문법이다. CASE 01 CASE WHEN THEN ELSE END : 기억해야 할 전부 SQL을 다루면서 조건을 설정하고 조건에 따라 데이터를 처리할 때 기억해야 할 것은 CASE WHEN THEN END이다. 쿼리문을 어떻게 작성하는지 먼저 살펴보고 어떻게 이용하는지 이해하는 것이 좋을 것 같다. SELECT COL1 CASE COL1WHEN THEN VAL1 WHEN THEN VAL2 ELSE VAL3 END AS NEW_NA.. 2021. 9. 20. 16:02 SQL 문법 | 집합연산자 | EXISTS 이번 포스트에서는 EXISTS라는 집합연산자에 대해서 알아본다. 한 셋 / 테이블 안에 특정 데이터가 존재하는지 여부를 판단하기 위해 사용하며 존재 여부를 파악한 후에는 작동을 멈추기 때문에 성능면에서도 모든 내용을 비교해야 하는 타 연산자들에 비해 목적에 따라 성능적 이익을 취할 수 있다. EXISTS 01 EXISTS : 존재하는 지만 궁금하다 데이터의 양에 상관없이 존재 여부만으로 다른 작업을 시행할지 말지를 결정하는 경우가 있다. 이럴 경우 그 특정 데이터가 일단 하나만 존재하는지 알면 된다. 그럴 때 사용하는 것이 EXISTS이다. 일단 쿼리를 어떻게 작성하는지 살펴보자. SELECTM.COL1, M.COL2 FROMTABLE M WHEREEXISTS (SELECT 1 FROM SUB_TABLE.. 2021. 9. 20. 01:00 SQL 문법 | 집합연산자 | ALL 본 포스트에서는 집합연산자 중 하나인 ALL에 대해서 살펴볼 것이다. 메인 쿼리 내의 WHERE 조건절의 데이터를 ALL 절내의 데이터와 일일이 기뵤하여 모두 TRUE 연산일 경우 TRUE를 리턴한다. ALL 01 ALL : 모두 만족해야 한다 ALL은 ANY와 사용법이 동일하다. 차이점은 ANY의 경우 ANY절 내의 데이터 중 한 가지만이라도 WHERE절의 연산결과가 TRUE일 경우 전체 TRUE를 리턴했던 것에 반해 ALL의 경우는 ALL절 내의 모든 데이터가 WHERE절 내에서의 연산이 TRUE여야 전체 TRUE를 리턴한다는 것이다. 일단 쿼리를 어떻게 작성하는지 살펴보자. SELECTCOL1, COL2 FROMTABLE WHERECOL2 * ALL ( VAL1, VAL2, VAL3) ; COL2가.. 2021. 9. 19. 17:40 SQL 문법 | 집합연산자 | ANY 본 포스트에서는 집합연산자 중 하나인 ANY에 대해서 알아본다. ANY 절에 포함된 데이터와 일일이 비교하여 하나라도 TRUE 연산이 있다면 TRUE를 리턴한다. ANY 01 ANY : 어떤 것이라도 만족하면 된다 ANY는 WHERE 절에서 IN을 사용하는 것과 비슷하다. 다만 차이는 IN은 같은지만을 비교하는데 반해 ANY는 큰지 작은지 등 연산을 할 수 있다. 쿼리를 보면 좀 더 명확히 이해할 수 있다. SELECTCOL1, COL2 FROMTABLE WHERECOL2 * ANY (VAL1, VAL2, VAL3) ; WHERE절을 살펴 보면 COL2의 값이 VAL1, VAL2, VAL3과 임의의 연산 *를 만족하면 TRUE 리턴한다. *에는 다양한 연산이 들어 올 수 있다. [ >, =, ANY ( .. 2021. 9. 18. 00:10 이전 1 2 3 4 5 6 7 ··· 12 다음 반응형