일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ncs it
- 네트워크관리사 2급 실기
- 디지털 상식
- 기술면접
- SAP
- 장외파생상품
- 디지털 IT
- 책리뷰
- SAP SD
- 2025연말정산
- 코딩테스트
- 한능검
- 첫연말정산
- 디지털 IT 용어
- 파이썬
- 금융IT
- 알고리즘
- 프로그래머스
- 연말정산처음
- IT상식
- 디지털 용어정리
- 정처기 약술형
- 컴활1과목요약
- 5년안에1억모으기
- 플라잉요가후기
- 플라잉요가고통
- Python
- NCS 디지털
- 사회초년생1억모으기
- 사회초년생목돈
- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ncs it
- 네트워크관리사 2급 실기
- 디지털 상식
- 기술면접
- SAP
- 장외파생상품
- 디지털 IT
- 책리뷰
- SAP SD
- 2025연말정산
- 코딩테스트
- 한능검
- 첫연말정산
- 디지털 IT 용어
- 파이썬
- 금융IT
- 알고리즘
- 프로그래머스
- 연말정산처음
- IT상식
- 디지털 용어정리
- 정처기 약술형
- 컴활1과목요약
- 5년안에1억모으기
- 플라잉요가후기
- 플라잉요가고통
- Python
- NCS 디지털
- 사회초년생1억모으기
- 사회초년생목돈
- Today
- Total
목록▶ study (65)
공부기록장
서로 다른 날짜 형식을 일정한 포맷으로 반환하는 오라클 function을 만들었다. 해결하고자 하는 문제 원하는 입력값과 출력 값은 다음과 같다. 일정하지 않은 날짜 형식을 YYYY-MM-DD형태로 바꿔주려고 한다. e,g1)YYYYMMDD --> YYYY-MM-DD e,g2)YYYY-MM-DD;YYYYMM-DD;YYYY-MMDD --> YYYY-MM-DD;YYYY-MM-DD;YYYY-MM-DD e,g3)YYYYMMDD;YYYYMMDD;YYYYMMDD --> YYYY-MM-DD;YYYY-MM-DD;YYYY-MM-DD 문제 해결 절차 1) replace function을 사용해서 ';' 삭제 2) replace function을 사용해서 '-' 삭제 3) 각각의 데이터를 8자리씩 parsing 4) 8자리..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/qClbX/btq3nCawXRP/tTNtDE8KRfv2P1rj7rC9rk/img.png)
위 그림처럼, 한 테이블에만 있는 값들을 출력하고 싶을 때 사용하는 SQL 쿼리를 소개하려고 한다. 쿼리는 크게 minus를 사용, LEFT JOIN를 사용, 서브쿼리를 사용 하는 방법으로 나눠보았다. 참고로 minus이 가장 쉽다고 생각하는데 oracle DB에서만 사용이 가능하다! 기본 세팅 table은 student, student2 테이블을 예시로 들어주었다. 우리가 도출하고 싶은 테이블은 student에는 있지만, student2 테이블엔 없는 아래와 같은 join 결과값이다. SQL 쿼리 1. minus 사용 select name, id from student minus select name, id from student2; 위에서 고른 테이블에서, 아래서 고른 테이블을 빼주는 연산이다. 딱 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/brhX7j/btq2IgNvTEF/BUTkztbMwzWkDauOONj641/img.png)
select * from student where dept = '컴퓨터공학과' group by dept having professor = '박상원' order by name asc; 위와 같은 select문의 실행순서는, from -> where -> group by -> having -> select -> order by 이다. 단계별 상세 설명 1. from : 먼저 검색하고자 하는 테이블을 반환한다. (student 테이블 반환) 2. where : 테이블에서 원하는 조건들을 가진 행들을 반환한다. (student 테이블에서 학과가 '컴퓨터공학과'인 행들만 반환) 3. group by : dept로 행을 묶은 행이 반환된다. (묶여있는 컬럼 중 가장 위에 있는 행이 반환된다.) 4. having :..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YAokA/btq2C3t7NfK/sbyOxmH4gkqS0ktRKn3Tak/img.png)
0. 기본 테이블 세팅 select * from phone; select * from fruit; 1. IN select * from phone p where p.number in (select f.number from fruit f); 위와 같은 쿼리를 실행하면, 아래와 같은 결과가 나온다. 쿼리의 접근 순서를 살펴보자면, -> 괄호 안의 fruit 테이블에 먼저 접근한다. -> fruit 테이블에서 검색된 결과들을 리스트로 뽑는다. -> phone 테이블에 접근한다. -> phone 테이블과 뽑아진 리스트의 요소들이 일치하는지 하나씩 비교한다. 2. NOT IN select * from phone p where p.number not in (select f.number from fruit f); 위와..
SQL join에서 on에도 조건을 줄 수 있고, where절에도 조건을 줄 수 있다. 이때, 얼핏 보기엔 두 경우의 결과에 별 차이가 없어보인다. 하지만, on에서의 조건과 where절에서의 조건에는 약간의 차이가 있다. 이 차이를 명확히 짚고 넘어가부자. 코드로 보면 아래와 같다. 1) select * from student a, dept b where a.id = b.id and a.name = b.name and a.id = '1001'; 2) select * from student a join dept b on a.id = b.id and a.name = b.name and a.id ='1001'; 1) 쿼리같은 경우, 조인을 실행한 뒤 -> 조인결과로 생성된 테이블에서 id가 1001인 행들을..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/0jAPY/btq2yoSSw16/ao8p7gDapP1s0pxdVa4Prk/img.png)
UML(Unified Modeling Language)이란? 소프트웨어 시스템을 개발하는 과정에서 산출물의 명세화, 시각화, 문서화할 때 사용하는 모델링 언어로써 하나의 시스템을 표현하기 위한 표준적인 방법을 제공하기 위해서 만들어 졌다. UML Diagram의 종류 UMLDiagram은 크게 구조, 행위 두 가지 다이어그램으로 이루어져 있다. - 구조 다이어그램 Class Diagram(클래스 다이어그램) : 클래스의 속성, 함수, 변수타입들로 구성된 다이어그램. Object Diagram(객체 다이어그램) : 클래스의 인스턴스, 값이 매겨진 행동을 가지고 있는 독립된 객체정보를 표현하는 다이어그램. Package Diagram(패키지 다이어그램) : UML의 다양한 모델요소를 그룹화한 다이어그램. C..
제약조건이란? 제약조건은 간단히 말해 테이블에 여러 규칙을 적용해 놓는 것을 의미한다. 이런 제약 조건들을 통해서 테이블의 이상현상 방지와 효율적인 테이블 사용을 할 수 있다. NOT NULL 제약조건 create table Employees( id number(4), name varchar(25) not null, salary number(8,2), pct number(2,2), department_id number(4), hire_date date constraint emp_hire_date_nn not null); name, hire_date에 대한 not null 제약조건을 걸어준 코드이다. 여기서 두 컬럼의 차이점은 제약조건의 별칭의 유무이다. name은 지정해주지 않았고, hire_date는 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Ba1o8/btq2pkbKUGk/fRNm2mSjlp56lGKsXFusY0/img.png)
1. savepoint 의미 savepoint란 현재 작업 중인 transaction을 잘게 쪼개는 역할을 한다. savepoint를 저장해서 rollback to [savepoint] 라는 명령어를 통해 지정한 savepoint로 rollback명령을 수행할 수 있다. 아래 그림을 보면 더 잘 이해가 된다. 위의 사진처럼, insert까지의 명령을 전부 수행했다고 가정하자. 이때 rollback할 수 있는 방법이 3가지가 된다. 1. rollback to savepoint B 이 경우에는, 지정해줬던 savepoint B 시점으로 이동하여 B 시점 이후로 수행했던 작업들이 rollback된다. 2. rollback to savepoint A 이 경우에는, 지정해줬던 savepoint A 시점으로 이동하..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/A5x2l/btq2niZGBG6/RHCl30XpZJ9TtRKgm1s8Ak/img.png)
1. OFFSET 사용법 OFFSET을 사용하면, 원하는 행의 수 만큼을 건너뛰고 그 이후의 행부터 검색이 가능하다. select * from student; select * from student offset 2 rows; 2. fetch 사용법 원하는 행의 갯수만큼의 데이터를 출력하는 옵션이다. select * from student; select * from student fetch next 2 rows only;
1. ANY 주로 서브쿼리에서 사용하는 다중 행 연산자이다. 조건을 만족하는 값이 하나라도 있다면 결과를 리턴한다. select * from student where id = any('1001', '1002', '1003') --1001, 1002, 1003 중 하나라도 만족하는 id를 포함하는 전체 행을 출력 select * from student where id > any('1001', '1002', '1003') --1001, 1002, 1003 의 최소값 이상의 값을 포함하는 모든 행을 출력 select * from student where id < any('1001', '1002', '1003') --1001, 1002, 1003 의 최대값 이하의 값을 포함하는 모든 행을 출력 2. ALL 주로..