반응형

SQL 20

[MSSQL] 시간/날짜 간격 구하기 DATEDIFF

SQL문을 사용하다 보면, 아래와 같은 상황에 직면하곤 합니다. ex) 1. 일주일 전 날씨 정보를 알려주세요. 2. 한 달 전과 오늘의 온도 차를 알려주세요. 3. 1시간 전 매출과 현재 매출을 비교해 주세요. 이 세 가지 예시의 동일한 점은 "OO 전"이라는 점입니다. 이는 시간을 가지고 비교하겠다는 거고, 일단 WHERE에서 일자를 조정할 수 있겠으나 현재 예시를 위해서는 SELECT절에서 처리해 보도록 하겠습니다. 사용방법 SELECT DATEDIFF('구분자', '시작일자', '종료일자') 구분 구분자 약어 년 year yy, yyyy 분기 quarter qq, q 월 month mm, m 일 day dd, d 주 week wk 시간 hour hh, h 분 minute mi, n 초 second..

[SQL] GROUP BY란? - 함수편

지난 시간에는 SQL의 데이터 조작 언어(DML) 중에서 GROUP BY에 대해 알아보았습니다. 오늘은 이 GROUP BY를 사용하는 이유 중의 하나인 GROUP BY를 했을 때만 사용 가능한 함수에 대해 알아볼까 합니다. 2020/09/23 - [개발 창고/데이터베이스 개발] - [SQL] GROUP BY란? - 기본편 [SQL] GROUP BY란? - 기본편 이전 시간에는 SQL의 데이터 조작 언어(DML) 중에서 SELECT의 기본적인 사용법과 결합(JOIN)과 별칭 등에 대해서 다뤄보았습니다. 이번 시간에는 SELECT의 조건절인 WHERE문 다음에 오는 GROUP BY에 대해 royzero.tistory.com 지난 시간처럼 활용 예를 먼저 들어보면, 참고로 그룹 함수는 DBMS별로 가능/불가능..

[SQL] GROUP BY란? - 기본편

이전 시간에는 SQL의 데이터 조작 언어(DML) 중에서 SELECT의 기본적인 사용법과 결합(JOIN)과 별칭 등에 대해서 다뤄보았습니다. 이번 시간에는 SELECT의 조건절인 WHERE문 다음에 오는 GROUP BY에 대해 이야기해볼까 합니다. 먼저 오늘은 GROUP BY의 기본적인 사용에 대해 알아볼 것이고, 이후에 그룹 함수와 HAVING, ROLL UP, CUBE 등에 대해 정리해보도록 하겠습니다. SELECT [ALL|DISTINCT] 컬럼명 [, 컬럼명 ...] FROM 테이블명 [, 테이블명 ...] [WHERE 조건식] [GROUP BY 컬러명 [, 컬럼명 ...] [HAVING 조건식]] [ORDER BY 컬럼명 [, 컬럼명 ...] GROUP BY를 한 마디로 정의하자면 "중복되지 않..

[SQL] 별칭(Alias) 활용하기

이 버전에서는 TOC를 지원하지 않습니다. (ex. 모바일) 이번 시간에는 INNER JOIN에서 다뤘던 내용을 가지고 별칭에 대해 이야기해볼까 합니다. 2020/09/15 - [개발 창고/데이터베이스 개발] - [SQL] JOIN이란? - INNER JOIN [SQL] JOIN이란? - INNER JOIN 데이터 베이스를 쓰다 보면 join이라는 말을 많이 듣게 됩니다. 간략하게 이야기하면 "JOIN은 두 테이블을 하나의 테이블로 만드는 것" 이라고 보시면 됩니다. 이게 무슨 뜻일까요?? 일단 두 � royzero.tistory.com 이전의 결합(JOIN)에 대한 이야기를 하면서도 보실 수 있었겠지만, SELECT문을 사용하다 보면 다음과 같은 SQL을 보실 수 있습니다. SELECT * FROM T..

[SQL] JOIN이란? - CROSS JOIN

이 버전에서는 TOC를 지원하지 않습니다. (ex. 모바일) 이전에는 가장 많은 빈도로 사용하는 INNER JOIN과 OUTER JOIN에 대해서 이야기했고, 오늘은 그것보단 빈도수가 적은 CROSS JOIN(교차 결합)에 대해 이야기해 볼까 합니다. 2020/09/15 - [개발 창고/데이터베이스 개발] - [SQL] JOIN이란? - INNER JOIN [SQL] JOIN이란? - INNER JOIN 데이터 베이스를 쓰다 보면 join이라는 말을 많이 듣게 됩니다. 간략하게 이야기하면 "JOIN은 두 테이블을 하나의 테이블로 만드는 것" 이라고 보시면 됩니다. 이게 무슨 뜻일까요?? 일단 두 � royzero.tistory.com 2020/09/16 - [개발 창고/데이터베이스 개발] - [SQL] ..

[SQL] JOIN이란? - INNER JOIN

데이터 베이스를 쓰다 보면 join이라는 말을 많이 듣게 됩니다. 간략하게 이야기하면 "JOIN은 두 테이블을 하나의 테이블로 만드는 것" 이라고 보시면 됩니다. 이게 무슨 뜻일까요?? 일단 두 개의 테이블이 있다고 가정해보겠습니다. 보통 게시판 예시가 많으니 게시글(TB_BOARD)과 코멘트(TB_BOARD_COMMENT)에 대한 예로 해보겠습니다. TB_BOARD TB_BOARD_COMMENT 게시글과 코멘트는 게시글번호(BBS_SEQ)로 이어져 있다고 가정하면 (BBS_SEQ가 TB_BOARD_COMMENT의 Foreign Key) 다음과 같이 작성해볼 수 있습니다. INNER JOIN (내부 조인) INNER JOIN은 일반적으로 가장 많이 활용하는 결합으로, 두 테이블 조건절을 통해 일치하는 경..

[SQL] WITH절 사용하는 방법

이 버전에서는 TOC를 지원하지 않습니다. (ex. 모바일) SQL문을 작성하다 보면 같은 Query구문을 반복해서 작성하는 경우가 발생합니다. 이런 경우 보통 1~2번의 반복은 개발자 입장에서 작성하지만, 잦은 반복 또는 동일 구문에 대한 조건 등의 추가로 여러 번 수정을 하는 경우 귀찮음을 느끼기 마련입니다. 이런 경우 개발자가 생각하는 생각은 '아 매크로처럼 어디다 만들어두고 한 번에 관리되면 좋겠다.'라는 생각을 하게 됩니다. 모든 개발 언어들이 그렇듯, 개발자의 생각은 비슷한 부분이 많습니다. 때문에 이런 반복적인 사용을 가능하도록 제공하는 게 WITH 절입니다. 기본적으로 RDBMS계의 3 대장 (Oracle, MySQL, MS-SQL)에서 지원되는 부분이라 할 수 있습니다. 먼저 다음과 같이..

[JSTL] Core태그

Spring에서 JSP로 개발을 하다보면 용어는 몰라도 다음과 같은 표현을 자주 쓰곤합니다. ${name} 은 html에서 제공되는 폰트를 굵게 보여주는 태그이고, 이 ${name}은 무엇일까? 실제 페이지에서는 저 ${name}은 ${name}가 아니라 첫번째 줄에 설정된 로이팩토리가 html에서 보여주게 됩니다. 이를 JSTL이라고 하는데 과연 JSTL은 무엇일까요? 자바서버 페이지 표준 태그 라이브러리(JavaServer Pages Standard Tag Library, 약칭 JSTL)은 Java EE 기반의 웹 애플리케이션 개발 플랫폼을 위한 컴포넌트 모음이다. JSTL은 XML 데이터 처리와 조건문, 반복문, 국제화와 지역화와 같은 일을 처리하기 위한 JSP 태그 라이브러리를 추가하여 JSP 사..

개발 창고/Web 2020.08.26

[SQL] SELECT 기본문법(2)

이번엔 이전 글에 이어 GROUP BY와 ORDER BY에 대해 이야기해볼까 합니다. 2020/08/25 - [개발 창고/데이터베이스 개발] - [SQL] SELECT 기본문법(1) [SQL] SELECT 기본문법(1) Query를 작성하면 기본 소양은 SELECT를 사용할 수 있느냐 입니다. 이는 잘만하면 여기 저기 흩어져 있는 의미없는 데이터를 정보로 만들 수 있는 가장 간단하면서도 가장 필요한 지식이라 할 수 있 royzero.tistory.com SELECT [ALL|DISTINCT] 컬럼명 [, 컬럼명 ...] FROM 테이블명 [, 테이블명 ...] [WHERE 조건식] [GROUP BY 컬러명 [, 컬럼명 ...] [HAVING 조건식]] [ORDER BY 컬럼명 [, 컬럼명 ...] GRO..

[SQL] SELECT 기본문법(1)

Query를 작성하면 기본 소양은 SELECT를 사용할 수 있느냐 입니다. 이는 잘만하면 여기 저기 흩어져 있는 의미없는 데이터를 정보로 만들 수 있는 가장 간단하면서도 가장 필요한 지식이라 할 수 있습니다. 구분은 일단 아래와 같습니다. SELECT [ALL|DISTINCT] 컬럼명 [, 컬럼명 ...] FROM 테이블명 [, 테이블명 ...] [WHERE 조건식] [GROUP BY 컬러명 [, 컬럼명 ...] [HAVING 조건식]] [ORDER BY 컬럼명 [, 컬럼명 ...] 여기서 []는 조건에 따라 생각이 가능함을 의미하고, 말줄임(...) 표시는, 1개 이상을 의미합니다. SELECT는 데이터 조작언어 (DML) 중 하나로, 2차원 배열(행과 열)의 결과를 갖습니다. 흔히 아래의 두 용어를 ..

반응형