SQL Server에서 해당 날짜의 요일(weekday)을 구하거나 년, 월, 일 추출 또는 분기를 구할 때는 DATEPART 함수를 사용하면 된다. DATEPART 함수와 거의 유사한 DATENAME 함도 있으며, DATEPART 함수와 DATENAME 함수의 차이는 결과를 정수로 반환하느냐 문자열로 반환하느냐의 차이라고 생각하면 된다. (요일과 월을 추출하는 부분만 다름) 목차 날짜 요일 구하기 년, 월, 일 추출하기 시, 분, 초 추출하기 분기 구하기 일 년 기준으로 일수 구하기 일 년 기준으로 몇 주인지 구하기 [MSSQL] DATENAME 함수 사용법 SQL Server에서 날짜 형식에서 년, 월, 일을 분리하거나 해당 날짜의 요일(weekday), 분기 등을 구하기 위해서는 DATENAME 함..
오라클에서 CROSS JOIN은 교차 조인이라고 하며, 두 테이블의 모든 행이 각각 한 번씩 조인되어 모든 경우의 수를 조합한 조인 데이터가 출력된다. CROSS JOIN은 카테시안 곱 또는 카테시안 조인이라고 부르기도 한다. CROSS JOIN은 ANSI JOIN 문법이며 오라클 방식의 교차 조인과 비교는 하단의 링크를 참고하면 된다. CROSS JOIN - 기본 사용법 SELECT a.empno , a.ename , a.job , b.deptno , b.dname FROM emp a CROSS JOIN dept b CROSS JOIN은 별도의 조인 칼럼이 없고, 두 테이블의 모든 행이 서로 한 번씩 조인된다고 생각하면 된다. 하나의 행을 여러 행으로 만들고 싶을 때 사용할 수 있다. emp 테이블(4..
오라클에서 FULL OUTER JOIN은 LEFT OUTER JOIN과 RIGHT OUTER JOIN을 합쳐진 조인 방법이라고 생각하면 된다. FULL OUTER JOIN은 ANSI JOIN 문법이며 오라클 10g 이상에서 사용할 수 있다. FULL OUTER JOIN은 자주 사용하는 조인 방법은 아니지만 개념을 이해하고 있으면 많은 도움이 될 수 있을 것이다. FULL OUTER JOIN - 기본 사용법 SELECT a.empno , a.ename , a.job , b.deptno , b.dname FROM emp a FULL OUTER JOIN dept b ON a.deptno = b.deptno 두 개의 테이블이 조인이 되면 조인된 데이터는 한 행으로 출력하고, 각 테이블에서 조인되지 않은 데이터는..
오라클에서 RIGHT OUTER JOIN은 아우터 조인(외부조인)에서 사용하는 방법 중 하나이다. RIGHT OUTER JOIN은 OUTER 키워드를 생략하고 RIGHT JOIN으로 사용하기도 한다. RIGHT OUTER JOIN은 ANSI JOIN 문법이며 오라클 10g 이상에서 사용할 수 있다. 일반적인 오라클 조인과 ANSI JOIN의 비교는 하단의 링크를 참고하면 된다. RIGHT OUTER JOIN을 학습하기 전에 LEFT OUTER JOIN을 먼저 학습하면 이해하기 쉬울 것이다. 목차 RIGHT OUTER JOIN - 기본 사용법 RIGHT OUTER JOIN - 조인 칼럼이 여러 개인 경우 RIGHT OUTER JOIN - 조인 테이블이 여러 개인 경우 ※ 예제의 emp 테이블은 설명을 위해..
오라클에서 LEFT OUTER JOIN은 아우터 조인(외부조인)에서 가장 많이 사용하는 방법 중 하나이다. LEFT OUTER JOIN은 OUTER 키워드를 생략하고 LEFT JOIN으로 사용하기도 한다. 아우터 조인은 조인할 테이블에 데이터가 없어도 기준 테이블의 데이터는 모두 출력되는 조인 방법이다. LEFT OUTER JOIN은 ANSI JOIN 문법이며 오라클 10g 이상에서 사용할 수 있다. 일반적인 오라클 조인과 ANSI JOIN의 비교는 하단의 링크를 참고하면 된다. 목차 LEFT OUTER JOIN - 기본 사용법 LEFT OUTER JOIN - 조인 칼럼이 여러 개인 경우 LEFT OUTER JOIN - 조인 테이블이 여러 개인 경우 ※ 예제의 emp 테이블은 설명을 위해 인위적으로 만든..
오라클에서 INNER JOIN은 일반적으로 부르는 조인을 의미한다. INNER JOIN은 ANSI JOIN 문법이며 대부분의 데이터베이스에서 동일하게 사용할 수 있는 쿼리문이다. ANSI JOIN은 오라클 10g부터 사용할 수 있으며, 일반적인 오라클 조인과 ANSI JOIN 비교는 하단의 링크를 참고하면 된다. 목차 INNER JOIN - 기본 사용법 INNER JOIN - 조인 칼럼이 여러 개인 경우 INNER JOIN - 조인 테이블이 여러 개인 경우 ※ 예제의 emp 테이블은 설명을 위해 인위적으로 만든 테이블이며 하단의 첨부파일을 참고하면 된다. INNER JOIN - 기본 사용법 SELECT a.empno , a.ename , a.job , a.deptno , b.dname FROM emp a..
오라클에서 수치값이 NULL인 경우 0으로 처리하여 표시하기 위해서는 NVL 함수를 사용하면 된다. 그리고 SUM 함수를 사용하여 합산할 때 결과가 NULL인 경우 0으로 표시할 때도 NVL 함수를 사용할 수 있다. 집계함수(SUM, AVG, MIN, MAX 등)는 연산할 칼럼의 값이 NULL인 경우 해당 행은 제외하고 처리를 하기 때문에 필요할 경우 꼭 NVL 함수로 치환 후 연산을 해야 한다. NULL이면 0 처리 방법 SELECT NULL , NVL(NULL, 0) --NULL을 0으로 치환 FROM dual NVL 함수를 사용하여 NULL을 0으로 치환할 수 있다. SELECT empno , ename , comm , NVL(comm, 0) AS nvl_comm FROM emp WHERE job ..
오라클에서 하루 전 날짜, 내일 날짜를 구하기 위해서는 날짜에서 원하는 일수만큼 정수를 빼거나 더하면 된다. 다른 데이터베이스에서는 DATEADD 함수를 사용하기도 하지만 오라클에는 별도의 함수는 없다. SYSDATE에서 -2, -1, +1, +2 등으로 연산을 하면 오늘의 기준으로 원하는 날짜를 쉽게 구할 수 있다. 하루 전 날짜 구하는 방법 SELECT TRUNC(SYSDATE) - 1 --어제(하루전) , TRUNC(SYSDATE) --오늘 , TRUNC(SYSDATE) + 1 --내일 FROM dual SYSDATE 기준으로 어제 날짜, 내일 날짜를 구할 수 있다. 날짜가 문자열인 경우 날짜 형식으로 변환 후 연산 SELECT TO_DATE('20230226', 'YYYYMMDD') , TO_DA..
오라클에서 수치값의 양수, 음수 부호를 판단하기 위해서는 SIGN 함수를 사용한다. 양수면 1, 음수면 -1, 0이면 0을 반환한다. 숫자의 플러스, 마이너스 부호를 판단하여 WHERE 절에서 조건절에 사용할 수 있으며 CASE, DECODE 함수를 사용할 때도 조건으로 사용할 수 있다. SIGN 함수 기본 사용법 SELECT SIGN(10) --양수(1) , SIGN(-10) --음수(-1) FROM dual 함수 사용법: SIGN( 숫자 ) 양수면 1, 음수면 -1을 반환한다. SELECT SIGN(10) , SIGN(-10) , SIGN(0) , SIGN(NULL) FROM dual 0이면 0, NULL이면 NULL을 반환한다. 입력된 값이 문자열이면 오류가 발생하므로 주의해야 한다. SIGN 함수..
오라클에서 그룹별 최댓값을 구하기 위해서는 집계함수(GROUP BY 절)를 사용하는 방법과, 분석함수(OVER 절)를 사용하는 방법을 주로 사용한다. 조회하는 상황에 따라서 필요한 형태의 방법을 사용하면 된다. GROUP BY 절은 기본적인 문법이라서 많이 알고 있지만 OVER 절은 고급 문법이기 때문에 조금 이해하는 시간이 필요할 수 있다. 목차 집계함수를 사용하여 최댓값 구하기 (GROUP BY 절) 분석함수를 사용하여 최댓값 구하기 (OVER 절) 집계함수를 사용하여 최댓값 구하기 (GROUP BY 절) SELECT job , MAX(sal) AS max_sal FROM emp WHERE job IN ('MANAGER', 'SALESMAN', 'CLERK') GROUP BY job GROUP BY ..