반응형 MySQL14 SQL 문법 | 데이터 조회 및 필터 | 재귀쿼리 RECURSIVE QUERY 데이터 간의 계층 관계를 행과 열로 이루어진 표에서 직관적으로 표현하는 것은 쉬운일이 아니다. 그 어려운 일을 SQL은 재귀쿼리를 이용해서 시각화 해줄 수 있다. 단 계층을 재귀쿼리 RECURSIVE QUERY 01 재귀쿼리란? 재귀쿼리의 이름을 먼저 살펴보도록 하자. 재귀라는 것은 영어로는 RECURSIVE, 즉 반복의 의미를 담고 있다. 재귀쿼리는 다시 말해서 반복적으로 작동될 쿼리라고 할 수 있고 '어떠한 쿼리를 반복적으로 실행한다' 라고 이해하면 좋다. 그렇다면 반복적인 작업이 왜 필요할까? 이유는 자료들의 계층을 파악하기 위해서이다. 데이터들은 각각 종속성과 피종속성을 갖지고 있다. 단순하지 않은 그런 속성을 한 번 데이터를 읽음으로서 완벽히 파악하기 어렵다. 따라서 그럴 때 재귀쿼리를 이용해 .. 2021. 9. 26. 22:24 SQL 문법 | 데이터 조회 및 필터 | WITH 데이터를 먼저 불러와서 선작업을 한 후에 종합적으로 데이터 처리를 해야할 경우가 있다. 그럴 때 이용할 수 있는 것이 WITH 기능이다. WITH는 서브쿼리를 이용하는 것에 조금 기능을 익히기만 하면 되기 때문에 알아 둔다면 더욱더 자유롭게 SQL을 이용하는데 도움이 된다. WITH 01 WITH 절 사용방법 WITH절을 사용하기 위한 정해진 문법(약속)이 있다. 그 것을 익히는 것이 앞으로 WITH 기능을 잘 이해하고 이용하는데 어려움을 덜어준다. 꼭 사용법을 외우자. --- WITH절 작성 WITH TEMP_NAME AS ( SUBQUERY ) --- WITH절 완료 및 메인쿼리 시작 SELECT* FROMTEMP_NAME ; 먼저 WITH 를 이용해서 선작업할 (임시로 이용할) 테이블 이름을 정해준.. 2021. 9. 22. 13:51 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 이전 1 2 3 4 다음 반응형