목록공부/DB (12)
기록을 합시다.

업무 하면서 SQL을 짜다가, 서브 쿼리로 데이터를 가져오는 SQL을 짰었는데 부장님이 서브 쿼리보다는 WITH 문을 사용하는 것이 훨씬 빠르다고 알려주셨다. 그래서 따로 이렇게 포스팅을 해봄. ㅇㅅㅇ 1. SELECT 서브쿼리를 사용한 예제: SELECT employee_name, department_id FROM employees WHERE department_id = (SELECT department_id FROM employees WHERE employee_id = 1); 2. WITH 절을 사용한 예제: WITH DepartmentCTE AS ( SELECT department_id FROM employees WHERE employee_id = 1 ) SELECT employee_name, de..
테이블의 칼럼의 데이터가 한글일 때, 한글이 깨져서 select 문을 실행할 때 발생할 수 있는 오류이다. 단순하게 아래와 같이 해결할 수 있다. select substrb(칼럼명, 1, Length(칼럼명)*2) as 칼럼명 from 테이블명; 혹은 select substr(칼럼명, 1, Length(칼럼명)) as 칼럼명 from 테이블명; EZ

입사 첫 주라 정신이 이상하게 없어서 공부를 못 했다. ㄱ=.. 정신 차려야 할텐데.. 하루에 1~2시간이라도 짬 내서 공부해야 할 것 같다..건수 출력하기(COUNT)SELECT COUNT(empno) FROM emp;COUNT(EMPNO) ------------ 14COUNT 함수는 NULL 값을 무시한다.SELECT COUNT(COMM) FROM emp;COUNT(COMM) ----------- 4 데이터 분석 함수로 순위 출력하기 (RANK)SELECT ename, job, sal, RANK() over (ORDER BY sal DESC) 순위 FROM emp WHERE job in ('ANALYST', 'MANAGER');ENAME JOB SAL 순위 ---------- --------- ---..

함수의 종류 SQL에서 함수는 데이터를 가공하거나 계산하는 데 사용된다. 함수의 종류는 다음과 같이 단일행, 다중행 함수로 나뉜다. 단일행 함수: 하나의 행을 입력 받아 하나의 행을 반환하는 함수 문자함수: 문자열을 처리하는 함수 (UPPER, LOWER, INITCAP, SUBSTR, LENGTH 등) 숫자함수: 숫자를 처리하는 함수 (ROUND, TRUNC, MOD 등) 날짜함수: 날짜와 시간을 처리하는 함수 (MONTHS_BETWEEN, ADD_MONTHS, NEXT_DAY 등) 변환함수: 데이터 타입을 변환하는 함수 (TO_NUMBER, TO_DATE, TO_CHAR 등) 일반함수: 그 외의 다양한 기능을 제공하는 함수 (NVL, DECODE, CASE 등) 다중행 함수: 여러 개의 행을 입력받아..

SQLD 자격증을 땄지만, 기억도 가물가물하고 PL/SQL문을 공부할 일이 생겨서 '초보자를 위한 SQL 200제'라는 책을 읽게 되었다. 특히 PL/SQL 공부를 많이 해야할 것 같지만 ^^.. 아무튼 이번주 일요일까지 꾸준히 공부한 것을 올리려고 한다. (나 자신 파이팅..) 참고로 포스팅에 있는 내용들은 책에 있는 모든 내용들을 담지 않았다. 다들 꼭 책 사거나 빌려서 보세여 ㄱ=.. SELECT 문은 SQL에서 데이터를 조회하는 가장 기본적인 명령어다. 데이터베이스 테이블에서 원하는 데이터를 선택하여 가져올 수 있다. 1. 기본 SELECT 문 SELECT empno, ename, sal FROM emp; SELECT: 데이터를 선택하라는 명령을 나타낸다. empno, ename, sal: 출력하..

팀플을 현재 진행 하고 있는데, 도커 파일 하나 만들어서 다 같이 쓰면 좋을 것 같다는 생각을 했다. 그래서 한 번 도커 이미지 만들어보기 도전을 해보았다. 도커 프로젝트 폴더 생성하기 mkdir project-dockerfile 도커 프로젝트 내에서 도커 파일 생성하기 참고로 도커파일은 확장자가 없고, 그냥 파일명 자체가 Dockerfile이니 주의하자. FROM gvenzl/oracle-xe ENV ORACLE_PASSWORD=1234 RUN mkdir files VOLUME [ "/oradata:/opt/oracle/oradata/gvenzl/oracle-xe" ] COPY 001_projectDB.sql /container-entrypoint-initdb.d EXPOSE 1521 참고한 이미지는 ..

이전 게시물 [Oracle] Oracle 21C XE Windows11에서 설치하기 + SQL Developer ORACLE DATABASE 기본 생성 구문 CREATE DATABASE(데이터 베이스 생성) CREATE DATABASE database_name CHARACTER SET (텍스트 인코딩 설정) CREATE DATABASE database_name CHARACTER SET AL32UTF8; //참고로 AL32UTF8은 UTF-8보다 확장된 문자들인 emoji, 한자 등을 저장해줄 수 있다. DATAFILE SIZE (파일의 위치 및 크기 설정) DATAFILE 및 SIZE 옵션은 데이터 파일의 위치와 크기를 적절하게 설정하여, 데이터베이스의 성능을 최적화 할 수가 있으며, 데이터 파일 백업을..

Oraccle 21C XE란? Oracle 21C XE는 Oracle에서 제공하는 DBMS이다. XE는 Express Edition의 약자로, 작은 규모의 프로젝트나 혹은 Oracle DBMS 학습용으로 사용된다. Oracle 21C 설치 1) 아래의 오라클 홈페이지에서 "Oracle Database 21c Express Edition for Windows x64"를 다운 받아준다. Oracle Database Express Edition (XE) Downloads | Oracle 대한민국 Support Oracle Database Express Edition (XE) is a community supported edition of the Oracle Database family. Please go to..
RDBMS 테이블을 작성하다가, 늘 INT auto_increment로 user_id를 생성해서 primary key로 사용하면 갑자기 의문이 들었다. 왜 email은 primary key로 안 쓰는 거지? 모든 것에는 다 이유가 있는 법.. 검색을 해보니 이런 글이 떴다. (무려 12년전 글..) https://stackoverflow.com/questions/3804108/use-email-address-as-primary-key Use email address as primary key? Is email address a bad candidate for primary when compared to auto incrementing numbers? Our web application needs the ..
NoSQL이란? NoSQL은 "Not Only SQL"의 약자이며, 전통적인 테이블 기반으로 데이터를 저장하는 것이 아닌 다른 방식의 데이터 저장방식을 이용한다. NoSQL특징 NoSQL 데이터베이스는 보통 비정형,반정형 등의 구조화 되지 않은 대용량 데이터를 저장하는데 적합하다. 이런 특징은 사전에 스키마를 정의하지 않기 때문에 나타난다. NoSQL의 종류 MongoDB, Cassandra, Redis 등의 NoSQL가 있다. (보통 NoSQL이라 하면 DBMS를 이야기하는 거다.) NoSQL을 쓰는 이유 NoSQL은 RDBMS에서 처리하기 힘들었던 비정형 데이터를 다루기에 유용하다. 특히 비정형 데이터는 JSON, XML, key-value, document, graph와 같이 다양한 형태가 있다. ..