[SQL] ORACLE CONNECT BY 사용법 (계층형 쿼리)개발/DB&SQL / 2024. 11. 13.오라클 SQL에서 CONNECT BY 절은 부서 조직도, 메뉴 트리 등 계층적 구조를 만들 때 주로 사용하는 방법이다. 그리고 CONNECT BY 절과 LEVEL을 사용하면 순차적인 데이터를 생성할 수가 있어서, 특정 값만큼 행을 늘리거나 시작일자와 종료일자 사이의 날짜를 채워서 행을 늘리는 등의 가상의 데이터를 만들 때 유용하게 사용할 수 있다. CONNECT BY 절의 사용법은 광범위하기 때문에, 아래는 실무에서 자주 사용하는 예시 몇 가지를 사용하여 설명하였다.계층형 쿼리 조회 하는 법SELECT empno , ename , mgr , job , LEVEL FROM empCONNECT BY PRIOR empno = mgr START WITH mgr IS NULL ..
[언어] 컴파일러(Compiler)와 인터프리터(Interpreter)의 차이개발/CS / 2024. 11. 12.컴파일러(Compiler)와 인터프리터(Interpreter)의 등장 배경컴파일러와 인터프리터가 등장한 이유를 알기 위해서는 Assembly language(어셈블리어)에 대해서 알면 좋습니다. 어셈블리어의 사전적 의미는 아래와 같습니다.어셈블리어는 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어(low-level)입니다. 컴퓨터 구조에 따라 사용하는 기계어가 달라지며, 이와 대응하는 어셈블리어도 각각 다르게 됩니다.어셈블리어는 컴퓨터의 하드웨어에서 수행할 작업을 지시하는 간단한 언어라고 생각하면 됩니다. 쉽게 예를 들면 두 개의 숫자를 더하거나, 컴퓨터 메모리의 한 위치에서 다른 위치로 값을 이동하는 명령을 수행합니다.
[SQL] Oracle 그룹 함수 (ROLLUP, CUBE, GROUPING 등)개발/DB&SQL / 2024. 11. 11.오라클에 있는 다양한 그룹함수에 대한 내용이다.CREATE TABLE 월별매출 ( 상품ID VARCHAR2(5), 월 VARCHAR2(10), 회사 VARCHAR2(10), 매출액 INTEGER ); INSERT INTO 월별매출 VALUES ('P001', '2019.10', '삼성', 15000);INSERT INTO 월별매출 VALUES ('P001', '2019.11', '삼성', 25000);INSERT INTO 월별매출 VALUES ('P002', '2019.10', 'LG', 10000);INSERT INTO 월별매출 VALUES ('P002', '2019.11', 'LG', 20000);INSERT INTO 월별매출 VALUES ('P003', '2019..
[이펙티브 자바] 생성자 대신 Static Factory Method를 고려하라개발/Java / 2024. 11. 8.Item 1. 생성자 대신 정적 팩토리 메서드를 고려하라정적 팩토리 메서드(Static Factory Method)는 클래스에 정적 메서드를 정의하고, 생성자 대신 객체를 생성할 수 있게 만드는 기법입니다. 간단하게 정리하면 Method 호출 방식으로 객체를 생성하는 것입니다.대표적인 예로 Java의 Wrapper 클래스에서 사용되는 것을 확인할 수 있습니다. 그중 하나인 Boolean은 다음과 같은 API를 제공합니다.public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE;} public static void main(String args[]) { Boolean bool1 = new Boolean(true..
[SQL] ORACLE MERGE INTO 사용개발/DB&SQL / 2024. 11. 7.오라클에서 쿼리문을 작성하다 보면, 하나의 쿼리문으로 INSERT, UPDATE, DELETE 작업을 해야 하는 경우가 있습니다. 이럴 때에는 MERGE 문을 사용하면 간단하게 쿼리문을 작성할 수 있습니다. 오라클 9i부터 MERGE 문을 사용할 수 있으며, DELETE 절은 10g부터 사용할 수 있습니다. 1. 동일한 테이블 구조를 가지고 있는 테이블로부터 데이터를 옮기는 쿼리MERGE INTO TABLE1 T1 USING TABLE2 T2 ON (T1.COLUMN1 = T2.COLUMN1 AND T1.COLUMN2 = T2.COLUMN2) WHEN MATCHED THEN UPDATE SET T1.COLUMN3 = T2.COLUMN3 WHEN NOT MATCHED THEN INSERT (T1.CO..
[Firebase] 데이터베이스 비교 (Realtime vs Cloud Firestore)개발/DB&SQL / 2024. 10. 4.최근에 Flutter 기반 1인 앱을 개발하면서 서버리스(Serverless)에 대해 알아보게 되었습니다. 보통은 서버를 직접 개발했기 때문에, 관련 플랫폼인 Firebase나 Supabase 등은 저의 관심 밖이었습니다. 하지만 혼자 개발을 하다보니 전체 영역을 다루는 것은 쉽지 않았습니다. 특히 Flutter의 빠른 개발을 특징으로, 프로토타입 단계를 목표할 때에는 서버를 직접 개발하는 것이 전략상 맞지 않음을 느꼈습니다.뿐만 아니라 Firebase의 다양한 서비스(Analysis, 보안, Database 등)를 실습해보니, 놀랍고 편리한 기능이 정말 많았습니다. 오늘은 Firebase에서 제공하는 2가지의 데이터베이스 솔루션에 대해서 알아보겠습니다.[Realtime Database(실시간 데이터베..