순위 함수의 종류 순위함수의 종류는 아래와 같이 세가지가 있다. 해당 함수들은 중복값에대하여 어떻게 처리 할껀지에 따라서 사용 방법이 다르게 나뉘어 진다. RANK : 중복값이 있다면 동일한 순위로 지정되고 다음 값에 대해서는 중복된 값의 수만큼을 건너뛰고 출력된다. (ex. 1 - 2 - 3 - 3 - 3 - 6 - 7) DENSE_RANK : 중복값이 있다면 동일한 순위로 지정되고 다음 값에 대해서는 중복된 순위 다음 수가 출력된다. (ex. 1 - 2 - 3 - 3 - 4 - 5) ROW_NUMBER : 중복값과 상관없이 순위를 순차적으로 출력한다. (ex. 1 - 2 - 3 - 4 - 5) 기본 문법 SELECT 컬럼명 , RANK () OVER (ORDER BY 기준 컬럼명) AS RNAK FR..
기본 문법 SELECT LISTAGG('대상 컬럼명', '구분자') WITHIN GROUP (ORDER BY '정렬기준 컬럼명') FROM '테이블 명' LISTAGG 함수 사용 예시 TEST_USER 테이블의 USER_NAME 컬럼을 USER_NAME 순으로 정렬하여 쉼표를 구분자로 한줄로 출력하고 싶을때 SELECT LISTAGG(USER_NAME, ',') WITHIN GROUP (ORDER BY USER_NAME) AS USER_NAME FROM TEST_USER
@author -- 클래스나 인터페이스의 제작자 표시 @version -- 버전 정보 @return -- 메써드가 void 형이 아닐경우 return 타입을 기술 @exception -- 메써드가 발생 시킬 수 있는 예외를 기술 @throws -- 위와 동일 @deprecated -- 다음버전에서 폐기된 메써드 알림 @param -- 매개변수에 대한 설명 (@param 변수 설명) @serial -- 기본적으로 직렬화 할 수 있는 클래스의 멤버를 설명 @see -- 참조표시 @since -- 위의 Tag 들이 언제 추가되었는지를 명시
DDL 이란 ? 데이터 정의어 : 생성, 삭제, 수정하는데 사용하는 SQL 데이터 구조를 정의하는데 사용한다. DDL 명령어 CREATE : 테이블을 생성 합니다. CREATE TABLE [테이블 명] ( [컬럼명] [컬럼타입] [NULL허용여부] [컬럼명] [컬럼타입] [NULL허용여부] ... PRIMARY KEY (컬럼명) ); - 테이블 명 : 생성할 테이블 명을 지정한다. - 컬럼 명: 컬럼명을 지정한다. - 컬럼타입 : 컬럼 타입을 지정한다.(EX. CHAR(n), VARCHAR2(n), NUMBER, DATE) - NULL허용여부 : NULL 값을 허용할지 여부를 지정한다. 값을 생략하는 경우 NULL을 허용한다. DROP : 테이블을 삭제 합니다. DROP TABLE [테이블명]; - 테이..
로컬 변수 ( th:with ) 블럭내에서 유효한 변수를 정의 결과 값은 "30" 입니다. 결과 값은 "20" 입니다. 유사 블록 ( th:block ) 임의로 블록을 정의하는 속성 결과 값은 "30" 입니다. 결과 값은 "20" 입니다. 조건문 ( th:if / th:unless ) 특정 조건일때만 보여지거나 보여지지 않는 영역 설정이 필요할 때 사용 1이 0보다 크기 때문에 조건이 true 입니다. p태그 출력 1이 0보다 크기 때문에 조건이 false입니다. p태그 출력 조건문 ( th:switch / th:case ) 특정 값과 일치하는 부분만 보여지도록 설정 할 때 사용 username = user01 user01입니다. 해당내용만 출력 user02입니다. user03입니다. user04입니다...
text ( th:text ) 변수 값을 태그의 텍스트로 표시할 때 사용 th:text 속성과 ${....}구분을 같이 사용 text = hello world 결과 값은 "hello world" 입니다. unesape text ( th:utext ) escape 처리를 하지 않고 표시할 때 사용 test = "test" escape 처리시 = testescape 미처리시 = test 인라인처리 ( th:inline ) inline 속성에는 text 모드와 javascript 모드가 있다. 태그 내의 텍스트 일부를 Controller로 부터 전달된 변수 값으로 표시 할 경우 사용 // text 모드 Hello, [[${user.name}]] !!! //javascript 모드 삼항연산자 ( ?: ) 변수의..
변수식 : ${....} Context에 포함된 변수들을 사용할 수 있다. JSP에서 사용했던 방식과 비슷하다. text = hello world ... 결과값은 "hello world" 입니다. 링크식 : @{....} @표현식을 이용하여 URL을 표현 가능 test 메시지식 : #{....} 미리 정의된 message.propertis 파일이 존재하고 thymeleaf enfine에 등록이 되어있다는 전제하게 사용 가능하다. // message.propertis 파일 hello.world = HELLO WORLD /****************************************/ 결과값은 "HELLO WORLD" 입니다. 객체의 변수식 : *{....} th:object로 정의되어 있는 변수..
Commit Message 를 잘 작성해야하는 이유 더 좋은 커밋 로그 가독성 더 나은 협업과 리뷰 프로세스 더 쉬운 코드 유지보수 좋은 commit message 의 기준은 다르나 누구나 봤을때 한눈에 수정내용에 대해 알아볼수 있는 commit message 가 가장 좋다고 생각한다... 좋은 Commit Message 를 작성 하기위한 규칙 제목과 본문을 빈 행으로 구분한다 제목을 50글자 내로 제한 제목 첫 글자는 대문자로 작성 제목 끝에 마침표 넣지 않기 제목은 명령문으로 사용하며 과거형을 사용하지 않는다 본문의 각 행은 72글자 내로 제한 어떻게 보다는 무엇과 왜를 설명한다 참고 자료 : https://jason-api.tistory.com/89 https://meetup.toast.com/po..