목록DataBase/SQL (17)
Allen's 데이터 맛집

이번 포스팅에서는 현업에서 종종 쓰이는 데이터들은 SQL을 사용하여 범주별로 나누어 출력을 해보도록 하겠습니다. 데이터는 간단한 id와 봉급을 나타내는 salary가 있고 각각의 id마다 다양한 salary를 가지고 있습니다. 그리고 이것을 가지고 범주별로 통계를 내보겠습니다. SELECT * FROM USER.TEST1 ORDER BY ID 개발자분들에겐 어쩌면 익숙한 바로 CASE문입니다. java의 switch문이라 생각하시면 편합니다. where절처럼 원하는 조건값을 입력하여 범주화를 시킵니다. 이를 통해 각 salary 범주에 속해있는 숫자를 손쉽게 파악할 수 있습니다. SELECT CASE when salary < 1000 then 'Under 10K' when salary between 10..
FORMAT설명 %M Month 월(Janeary, February ...) %m Month 월(01, 02, 03 ...) %W Day of Week 요일(Sunday, Monday ...) %D Month 월(1st, 2dn, 3rd ...) %Y Year 연도(1999, 2000, 2020) %y Year 연도(99, 00, 20) %X Year 연도(1999, 2000, 2020) %V와 같이쓰임 %x Year 연도(1999, 2000, 2020) %v와 같이쓰임 %a Day of Week요일(Sun, Mon, Tue ...) %d Day 일(00, 01, 02 ...) %e Day 일(0, 1, 2 ..) %c Month(1, 2, 3 ..) %b Month(Jen Feb ...) %j n번째 ..
IFNULL IFNULL 함수는 주어진 두 값 중 첫 번째 값이 NULL이 아니면 그 값을 반환하고, 첫 번째 값이 NULL이면 두 번째 값을 반환합니다. SELECT column1, IFNULL(column2, 'N/A') AS column2_not_null FROM your_table; 위 예시에서는 column2의 값이 NULL이면 'N/A'로 대체되어 반환됩니다. NULLIF NULLIF 함수는 두 값이 동일하면 NULL을 반환하고, 그렇지 않으면 첫 번째 값 반환합니다. 이 함수는 두 값이 같을 때 특정한 작업을 수행하고자 할 때 유용합니다. SELECT column1, column2, NULLIF(column1, column2) AS result FROM your_table; 위 예시에서는 c..
CTE(Common Table Expression)는 SQL에서 특정 작업을 수행한 결과를 일시적으로 저장하고, 그 결과를 나중에 다른 쿼리에서 사용할 수 있도록 하는 방법입니다. 이를테면, 여러 복잡한 단계로 이루어진 데이터 추출이나 변환을 한 번에 정리하고자 할 때 사용합니다. 간단한 비유로 설명하면, CTE는 마치 각 단계별로 요리를 준비할 때 임시로 필요한 재료들을 미리 정리해두는 것과 비슷합니다. 나중에 필요할 때마다 정리된 재료를 꺼내어 사용할 수 있습니다. 1. CTE 정의 요리를 준비할 때 필요한 재료를 정리하는 과정입니다. 이 때, 재료의 종류와 이름을 정해줍니다. WITH Ingredients (IngredientID, IngredientName) AS ( SELECT ID, Name ..