Language/SQL(27)
-
[SQL] 실수 데이터 다루기 - ROUND, FLOOR, CEILING, TRUNCATE
SQL 에 실수 데이터를 다루면서, 반올림, 올림, 버림 등의 연산이 필요할 때가 있다. 해당 기능을 함수들이 당연히 SQL 에도 구현이 되어있다. 오늘은 그 함수들에 대해서 알아보도록 하자. 1. 기본 문법SELECT ROUND(컬럼명, 남길위치) 별명, CEILING(컬럼명) 별명, FLOOR(컬럼명) 별명, TRUNCATE(컬럼명, 남길위치) 별명FROM 테이블명 각 함수에 대한 설명은 아래와 같다.ROUND : 반올림 함수, 소수점 'n+1' 번째 값에서 반올림한다(n 은 지정값). 소수점 이후의 위치는 '1' 부터 시작으로 정수(1의 자리)가 '0' 의 위치라 생각하면 편하다. 만약 소수점 3번째 자리에서 반올림을 하고 싶다면 '2' 를 지정값으로 사용하면 된다..
2024.08.25 -
[SQL] 날짜/시간 데이터 포맷 다루기 - DATE, TIME, DATE_FORMAT
날짜 및 시간 데이터 타입에는 'timestamp', 'datetime', 'date' 등 여러가지 타입이 존재한다. 이번에는 이 날짜/시간 데이터 타입과 형식을 변환하는 것에 대해 정리하고자 한다. 1. 기본 문법SELECT DATE(지정칼럼명) 별명, TIME(지정칼럼명) 별명, DATE_FORMAT(지정칼럼명 또는 값, 구분기호) 별명FROM 테이블명 'DATE' 과 'TIME' 의 경우 날짜/시간 형식의 데이터를 각각 DATE 타입과 TIME 타입으로 변환하는 함수이다. 'DATE_FORMAT' 의 경우 컬럼 또는 데이터를 구분기호에 맞추어 특정형식을 갖춘 문자 데이터로 변환하는 기능을 가졌다. 해당 함수에 사용되는 구분기호는 아래와 같다.구분기호역할 구분기호역할%Y년도 (..
2024.08.21 -
[SQL] WINDOWS FUNCTION - RANK
지금까지 배운 SQL 함수들로 다양한 조건을 만족하는 결과를 조회하는 쿼리문들을 작성했지만 이보다 더 쉽게, 시간을 절약할 수 있게끔 도와주는 'WINDOWS FUNCTION' 에 대하여 정리해보려 한다. '윈도우 함수' 라고도 불리는데 해당 함수에는 하나의 함수가 아닌 여러 함수들의 집합으로 '윈도우 함수' 에 해당하는 여러 함수들이 있다. 한 번에 모든 함수들을 정리하기보다 필요에 따라 학습하게 된 '윈도우 함수' 를 그 때마다 추가로 정리할 생각이다. 1. 기본 문법SELECT 윈도우함수명(지정칼럼명) OVER (PARTITION BY 분류할 컬럼명 ORDER BY 정렬 기준) 'WINDOWS FUNCTION' 은 각 행의 관계를 정의하기 위한 함수라고 한다. 일반적으로 위와 같은 방식으로 사용된..
2024.08.21 -
[SQL] 데이터 병합 - COALESCE
해당 함수는 NULL 값을 대체하기 위해 사용한다 배워 찾아보니 해당 목적이 주가 아니어서 이렇게 따로 정리하게 되었다. 물론 NULL 값 대체의 기능을 가지고 있지만 본디 주 목적은 두 컬럼을 합치는 기능을 하는 함수라고 한다. 1. 기본 문법SELECT COALESCE(병합컬럼명1, 병합컬럼명2) 별명, // 방법 - 1 COALESCE(값1, 값2) 별명 // 방법 - 2FROM 테이블명 해당 함수의 작동 기준은 NULL 이다. 두 컬럼을 지정하면 아래와 같은 결과를 보인다.두 컬럼 값이 모두 NULL 일 경우 : NULL 이 병합컬럼 값이 됨두 컬럼 중 하나의 컬럼 값이 NULL 인 경우 : NULL 아닌 쪽의 컬럼 값이 병합컬럼 값이 됨두 컬럼 값이 모두 NULL ..
2024.08.20 -
[SQL] 테이블 합치기 - JOIN
테이블은 목적에 따라 여러 속성을 가지고 있다. 하지만 현재 필요로 하는 속성이 다른 테이블에 있는 경우가 더러 있다. 이럴 때 두 테이블의 공통 속성을 기준으로 테이블의 데이터를 합친 결과 데이터를 조회할 수 있다. 0. JOIN 의 종류 나의 경우 JOIN 에 대해 이해할 떄 위와 같은 그림을 통해 이해하였다. 그저 외우기보다 그림을 보면 각 상황에 결과 테이블이 어떻게 생성될지 생각을 반복했다. 종류가 굉장히 많아 보이지만 일단 'LEFT JOIN' 과 'RIGHT JOIN' 중에 하나만 이해하면 반대되는 개념도 쉽게 이해 가능했다(나의 경우에는 LEFT JOIN 을 기준으로 학습했다). 그림을 통해 자주 사용하는 2가지 JOIN 을 정리했다.(INNER) JOIN : 'JOIN' 또는 INNER..
2024.08.19 -
[SQL] 날짜/시간 데이터 다루기 - YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, NOW, CURRENT_DATE, CURRENT_TIME
SQL 에서는 날짜 데이터를 어떻게 다룰까? 지금까지 학습을 하면서, 분명 보이는 것은 문자열 보이지만 실제로 'datetime' 타입인 경우를 많이 접할 수 있었다. 자연스레 'datetime' 에서 '원하는 값만 뽑아 쓸 수 없을까?' 라는 생각이 들었고 해당 내용을 따로 찾아 이렇게 정리하게 되었다. 날짜 및 시간 데이터를 다루는 함수들은 많지만 가장 기본적인 함수들에 대해서 다루었다. 0. 데이터 타입(자료형) 날짜 및 시간을 표현하는 데이터 타입에는 여러가지가 있지만 그 중 가장 기본적이고 보편적으로 사용하는 타입들에 대해 이야기 해보자.DATE : 날짜 정보를 갖는 타입이다. 'YYYY-MM-DD' 형식을 사용한다.TIME : 시간 정보를 갖는 타입이다. 'HH:MM:SS' 형식을 사용한다.D..
2024.08.18