l1523의 등록된 링크

 l1523로 등록된 네이버 블로그 포스트 수는 21건입니다.

[SQL] 그룹 함수(ROLLUP, GROUPING SETS, CUBE) : 총계, 소계 구하기 [내부링크]

그룹 함수란? 그룹 함수는 SUM, COUNT 등의 집계 함수를 사용할 때 그룹화 컬럼별 집계 및 소계를 ...

[SQL] 윈도우 함수 : WINDOWING 절(ROWS, RANGE) [내부링크]

WINDOWING 절? 윈도우 함수란?WINDOWING 절을 알아보기 전에 윈도우 함수가 무...

[SQL] 윈도우 함수(LAG, LEAD) : 이전 행, 이후 행 데이터 가져오기 [내부링크]

현재 행 기준으로 다른 행에 있는 데이터에 접근할 수 있는 함수를 알아보겠습니다.LAG...

[SQL] 특정 기간의 날짜 목록 조회 (ORACLE, MSSQL) [내부링크]

ORACLE 날짜 목록 조회 - 계층형 쿼리 응용특정 기간의 날짜를 모두 조회하고자 할 때, 계층형 쿼리를 응용해서 날짜 목록을 조회할 수 있습니다.ex) 20200601 부터 10일 만큼의 모든 날짜 조회시작 일자, 마지막 일자를 넣어 특정 기간동안의 날짜도 출력 가능합니다.ex) 20200601 ~ 20200610MSSQL 날짜 목록 조회 - 시스템 테이블 사용MSSQL의 시스템 테이블에는 여러 타입의 데이터들이 들어있습니다.시스템 테이블[MASTER..spt_values]에서 TYPE = 'P' 로 조회를 하면 NUMBER 컬럼의 값이 0 ~ 2047인 데이터들이 조회되며 이 NUMBER 값을 가지고 날짜 목록을 조회할 수 있습니다.......

[SQL] 피벗(Pivot) 테이블 (ORACLE, MSSQL) #1 [내부링크]

피벗 테이블이란?피벗 테이블은 특정 컬럼의 데이터들을 컬럼으로 사용하는 동시에 그 데이터 기준으로 집계한 데이터를 보여주는 기능입니다.쉽게 말해 행을 열로 변환시켜주는 기능이고, 오라클과 MSSQL에서 이 피벗(Pivot) 기능을 제공합니다.문법은 SELECT문 밑에 PIVOT절을 사용합니다.※ IN절에는 SELECT나 다른 문법, 함수를 사용할 수 없습니다. 간단한 예제를 통해 사용법을 알아보겠습니다.치킨의 가격이 나와있는 데이터입니다. 이 치킨 종류를 가로로 돌려볼 겁니다.치킨 종류가 중복되지 않으므로 집계함수절에 MAX를 사용했고,FOR절에 열로 변환시킬 치킨 종류, IN.......

[SQL] 동적 피벗(Dynamic Pivot) (MSSQL, ORACLE) #2 [내부링크]

이전 글에서는 피벗 테이블에 관한 내용을 다뤘습니다. 직접 DB에 넣은 데이터로 행렬 변환하여 조회하는 데까지 해보았고,이번에는 피벗 테이블의 컬럼이 고정적이지 않을 때, 어떻게 사용해야 하는지에 대해 알아보겠습니다.동적 피벗을 알아보기 전에 데이터베이스마다 SQL 확장 언어를 지원합니다.변수 선언, 흐름 제어 등을 사용할 수 있으며, 이번에 사용할 동적 피벗에서 필요한 언어입니다.MSSQL에서는 SQL 확장 언어인 트랙잭트 SQL(Transact-SQL, T-SQL)을 지원합니다.ORACLE의 SQL 확장 언어는 PL/SQL 입니다.MSSQL 동적 피벗피벗절의 IN절에서는 SELECT나 다른 문법, 함.......

일반 게시판 모델링 [내부링크]

학교 프로젝트 과제로 만들었던 게시판 모델입니다.각각 주제의 게시판과 게시글 작성, 댓글, 추천, 첨부파일 기능을 구현하기 위한 설계이고,'게시판유형코드'로 일반적인 게시판 말고도 사진, 팝업, Q&A 게시판 등을 구현하도록 구분 할 수 있습니다.댓글은 뎁스 구현을 안했는데 댓글에 댓글기능이 있다면 재귀로 '상위댓글번호' 컬럼을 추가해도 좋습니다.모델에서 게시글 테이블이 있는데 게시글내용 테이블은 왜 있는지에 대해 궁금해하실 수 있는데,만들 게시판이 일반적인 리스트형 게시판일 경우, 처음 게시글 리스트에서 게시글 내용을 보여줄 필요가 없습니다. 그렇기 때문에 모든 게시.......

메뉴 권한 관리 모델링 [내부링크]

사용자에 대한 메뉴 권한 관리 모델링입니다.사용자에게 특정 메뉴에 대해 접근 권한을 줄 수도 있고, 접근제한 권한을 줄 수도 있습니다.식별코드로 권한을 부여받는 대상을 구분할 수 있으며, 여기서는 사용자와 그룹에 지정할 수 있고, 그룹에 지정된 메뉴 권한은 그룹에 소속된 사용자들에게도 적용됩니다.

[SQL] 게시글 조회 쿼리 (MariaDB, MySQL) [내부링크]

간단하게 게시판의 게시글 목록, 게시글 상세정보, 댓글 목록을 조회해오는 SELECT 쿼리입니다.게시판 번호, 게시글 번호, 게시글 제목, 댓글수, 작성자, 작성일자, 조회수, 추천수를 조회하는 게시글 목록 조회 쿼리이고,게시글 내용 테이블이 나눠져 있으므로 목록에 불필요한 게시글 내용을 스캔할 필요가 없습니다.MariaDB(MySQL)에서는 LIMIT로 간단하게 페이징을 구현할 수 있습니다.

[error] ORA-01704: 문자열이 너무 깁니다 "string literal too long" [내부링크]

오라클에서 데이터 타입은 CLOB 였을 텐데 문자열이 길어서 안들어가지는 에러가 발생했습니다.여기서 알아야 될 것은 CLOB는 4GB까지 저장되지만, 한 번에 4000자가 넘는 문자열은 넣지 못한다는 것입니다.그렇다면, 4000자가 넘는 문자열을 한 번에 넣을 수 있는 방법은 무엇일까요?1. 4000자씩 잘라서 CLOB 타입으로 변환 시키고 자른 문자열들을 연결하여 저장한다.2. PL/SQL 사용첫 번째 방식이랑 똑같이 4000자씩 잘라서 연결시키는 방식인데 PL/SQL 방식으로 사용한 것이죠.여기서 의문점이 생깁니다. '애초에 자르지 않고 받아온 문자열 자체를 CLOB으로.......

연차내고 스키장 [내부링크]

2020.02.18요즘 날씨가 도통 겨울 같지가 않아서 스키장을 갈려면 날씨부터 알아봐야한다..원래 눈온다고 한 월욜날 갈려고 했는데 밀린 업무가 남아있어서 어쩔 수 없이 화욜날 다녀왔다ㅠㅠ저번 달엔 휘닉스평창, 저번 주엔 스타힐리조트그리고 이번엔 엘리시안 강촌이다.itx 타고 갈 수 있다는걸 최근에 알아서 바로 결정ㅎㅎ용산에서 itx 타고 백양리역에 내리면 근처가 바로 스키장이다. 백양리역 가는 차편이 많지가 않아서 가평까지 간다음 2정거장 경춘선으로 백양리까지 가는 것도 괜찮다.최상급 입구인데 오픈이 안돼있다.. 아쉽네 ㅎㅎ (사실 1도 가볼 생각 없음)근데 여기는 상급은 없는건가..? 중급 다음이 최상급이.......

[이탈리아 여행] 유럽 첫 번째 도시 로마(Roma, Rome) #1 [내부링크]

여행을 다녀오고나서 가끔씩 사진으로 회상하곤 하는데 아무래도해가 지날수록 조금씩 잊어버리는거 같아서 기록으로 남겨두려한다.2015.12.01 첫 해외여행이자 유럽여행의 시작 13시간을 날아 도착한 곳은 이탈리아 로마.도착한 시각 저녁 8시쯤. 예정시간보다 1시간 정도 늦었다.항공기에서 내려 곧바로 짐찾는 곳으로 향했다.우리나라가 아닌 나라의 공항에 와보는건 처음이었지만 유명 도시인 만큼 안내가 잘 돼있어서짐을 찾고 나오는데 까지 오래걸지지 않았다.그 곳의 분위기며 사람들, 건물, 모든 것이 낯설었고 엄청난 설렘을 느꼈다.하지만 그것도 잠시 저녁이라 어두워서 길을 찾기가 쉽지 않았고,주변 사람들한테 물.......

[SQL] 계층형 데이터 #1 [내부링크]

계층형 데이터란?계층형 데이터란 동일 테이블 안에 상위, 하위 데이터가 포함된 데이터를 말합니다.사원 데이터에는 상위 사원(관리자)과 하위 사원 관계가 존재하고 부서 데이터라고 하면, 상위 부서와 하위 부서 관계가 존재합니다.이 외에도 메뉴, 카테고리, 그룹 등 계층형 데이터 모델이 있습니다.좀 더 이해하기 쉽게 실제 사용하고 있는 데이터를 살펴보겠습니다.11번가의 카테고리입니다. '디지털/가전/컴퓨터'라는 카테고리 안에 '카테고리', '테마 편집샵', '전문관/브랜드' 카테고리가 있고,그 안에 'TV', '노트북', '냉장고.......

[SQL] 계층형 쿼리 (ORACLE, MSSQL) #2 [내부링크]

이전 글에서는 계층형 데이터에 대해 알아봤습니다. 동일 테이블 안에 상위, 하위 데이터가 포함된 데이터를 계층형 데이터라고 하는데이번엔 그 계층형 데이터를 가져오는 계층형 질의 구문에 대해 알아보겠습니다.ORACLE 계층형 질의 구문우선, 계층형 질의 결과가 어떻게 나오는지 보겠습니다.데이터는 각각 다른 순서로 입력됐지만, 계층구조에 맞게 출력되었습니다.오라클은 계층형 질의 구문을 제공함과 동시에 구문에 대한 가상 컬럼을 제공합니다.반대로 하위 데이터에서 상위 데이터로 나열하려면 어떻게 해야될까요?ex) '필름 카메라' 의 상위 데이.......

[JavaScript] input value에 JSON 데이터 저장 [내부링크]

JSON(JavaScript Object Notation)은 Key : Value 로 이루어진 데이터 오브젝트를 전달하기 위한 텍스트 형식의 데이터 포맷입니다. <input>에 단일 데이터만이 아닌 여러 데이터가 들어있는 JSON 데이터를 넣어서 활용할 수 있습니다. 다만, JSON 그대로 input에 넣어버리게 되면 인식을 제대로 못하고 '[object Object]'라는 단순 텍스트가 들어가 버립니다.값을 넣을 시 String으로 변환해서 저장해야 합니다.input value에 JSON 데이터를 어떻게 담고 가져오는지 간단한 화면을 통해 알아보겠습니다.테이블에 3가지 품목이 있습니다. (<table> 태그.......

[Mybatis] 계층적 매핑 resultMap [내부링크]

마이바티스 resultMap<resultMap>은 SQL 외부에 정의된 태그로 SQL 결과 데이터를 어떻게 매핑할지에 대한 상세 제어를 가능하게 해줍니다.종속적 데이터, 참조적 데이터에 대한 계층적 매핑도 가능합니다.예를 들어보겠습니다.어떤 상점에서 특정 상품들에 대한 주문이 들어왔다고 가정했을 때, 주문에 대한 정보를 저장해야 합니다. 여기서, 하나의 주문에는 하나의 상품만 있을 수 있고 혹은 여러 개의 상품이 있을 수 있습니다.구조로 본다면 이렇게 계층적으로 주문 하나에 하나 혹은 여러 개의 상품 데이터가 생성됩니다.단순히 조인해서 데이터를 조회한다면 이런 목록으로 조회될 것입니다........

[JavaScript] class, id 이외의 데이터(data-*) 속성 사용하기 [내부링크]

데이터 속성은 HTML5 부터 지원하는 기능으로 모든 HTML 요소에 사용자 정의 데이터 속성을 사용하여 값을 저장하는 기능입니다.사용 방법은 "data-" 뒤에 사용할 속성명 1자 이상을 지정해서 사용할 수 있습니다.data-[사용할 속성명] ex) data-value, data-set, data-item, date-type데이터를 불러올 때는 dataset을 통해 지정한 속성명으로 데이터를 가져올 수 있는데IE 10 이하 버전에서는 dataset을 지원하지 않으므로 getAttribute()를 통해서 가져와야 합니다.(여기서 dataset.value의 value는 사용자 지정 속성명으로 쓰입니다.)<input>을 사용할 때도 마찬가지로 data 속성을 사용해서 여러 값을.......

정말 정말 오랜만인 포스팅 [내부링크]

안녕하세요~ 제목에서부터 느껴지는 어마어마하게 오랜만인 포스팅입니다 ^.^마지막으로 글을 썼던게 11년도니까 벌써 8년이나 지났군요.. 세월 참..지난 8년간 무엇을 했느냐? 네 놀았습니다. 요즘도 놀고 있구요 ㅎㅎㅎ11년도면 고등학교 2학년 시절인데 참 풋풋할 나이였네요..평범하게 고등학교 졸업하고 평범한 대학에 가서 스펙타클하게 군대갔다오고 하니 벌써 20대가 절반이 지나갔어요 ㅠㅜㅜ뭐 그래도 나름 여행도 하고 여행도 다니면서 의미있는 시간을 보냈습니다. (마냥 놀기만 한거 맞음)요새는 또 유튜브에 빠져가지고 출퇴근시간마다 보고있는데 워크맨이랑 펭수 핫하더군요 ㅋㅋㅋㅋ 둘 다 취향저격ㅠㅜ.......

[Mybatis] 쿼리 실행 후 동시에 기본키 or 원하는 값 가져오기(INSERT, UPDATE, MERGE) [내부링크]

INSERT 문을 실행하고나서 잘 실행이 됐는지 확인 또는 생성된 키를 바로 다른 작업에 사용하기 위해 SELECT를 하게되는 과정이 생깁니다. 그러면 키 값만 SELECT하는 로직을 추가로 작성해야 되겠죠.이 과정을 줄이기 위해 INSERT 태그에 사용하는 속성이 있습니다.useGeneratedKeys 속성INSERT 됨과 동시에 생성된 키를 가져오게 하는 useGeneratedKeys 속성입니다. 먼저, 어떻게 사용되는지 보겠습니다.* Oracle이 아니면 PK를 자동증가 키로 설정하거나 selectKey 태그를 사용해야합니다.useGeneratedKeys 속성을 사용할 때 keyColumn, keyProperty 속성이 같이 쓰입니다.useGeneratedKeys = &.......

험난한 콤퓨타 조립기 [내부링크]

사실 나는 노트북을 주로 써서 영화 볼 때 빼고는 데스크탑을 사용할 일이 거의 없었다. 게임도 하는게 거의 롤밖에 없어서 그것도 노트북으로 하고 코딩도 노트북으로 하고..하지만 구입을 결정하게된 가장 큰 문제가 있었는데,울집 콤퓨타가 무려 펜..티엄..4..그렇다.. 고일대로 고여버린 콤퓨타였던 것이다 ㅋㅋ전원 켤 때마다 약간 인내를 시험받는 기분이었긴 하지만 아예 못쓸정도는 아니여서 계속 안바꾸고 있었는데이제 전원 버튼도 잘 안눌리고 충분히 느려질 대로 느려졌다고 생각해서 바꾸기로 결정 했다.그리고 때 마침 블프가 다가와서 콤퓨타를 사기에 딱 적당한 시기이기도 했다. (현실은 블프 전에 이미 다 구매).......

[SQL] 이력 관리 - 점 이력, 선분 이력 [내부링크]

이력 관리는 크게 두 가지로 나눌 수 있습니다.변경시점(시작시점)만 관리하는 점 이력(시점 이력), 시작시점과 종료시점을 같이 관리하는 선분 이력주로 업무에 따라서 변경시점만 관리할 수도 있고, 종료시점을 넣어 선분으로 관리할 수도 있습니다.선분 이력은 어느 때 필요할까?선분 이력은 기간이 정해질 필요가 있는 데이터일 경우에 사용합니다. 예를 들어 특정 매장에서 어느 직원들이 근무했는지 이력을 관리한다고 한다면 직원마다 근무 시작일자 종료일자가 기록되어야 하겠죠? 다른 예로는 차를 렌트한다고 했을 때, 빌리는 시간과 반납 시간이 있어야 렌트를 할 수 있습니다.간단한 예제.......