RDB

    [MySQL] MySQL Workbench 설치 및 오류 발생시 해결

    [MySQL] MySQL Workbench 설치 및 오류 발생시 해결

    1. 해당 페이지로 들어와서 다운로드 버튼을 눌러줍시다. 운영체제 맞춰서 선택 후 다운로드 해주세요! https://dev.mysql.com/downloads/workbench/ MySQL :: Download MySQL Workbench Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Red Hat Enterprise Linux / Oracle Linux Fedora macOS Source Code Select OS Version: All Windows (x86, 64-bit) Recommended Download: Other Downloads: Windows (x86, 64-bit), M dev.mysql..

    [ORACLE] ERD

    [ORACLE] ERD

    ERD(Entity Relationship Diafram) ​ 1. 바커 표기법 ( Baker notation ) - 영국 컨설팅 회사 CACI에 의해 개발, 리차드 바커에 의해 업그레이드 ​ 1:1 관계 : A 엔티티에 존재하는 데이터 1개 B엔티티에 존재하는 데이터 1개 ​ 1:N 관계 : A 엔티티에 존재하는 데이터 1개 B엔티티에 존재하는 데이터 N개 ​ N:N 관계 : A엔티티에 존재하는 데이터 1개 B엔티티에 존재하는 데이터 N개 B엔티티에 존재하는 데이터 1개 A엔티티에 존재하는 데이터 N개 ​ ​ 한 부서는 0명 또는 그 이상의 사원을 포함한다. 한 사원은 한 부서에 소속된다 ​ ​ ​ ​ ​ 2. I/E 표기법( Information Engineering notation ) - CLIVE..

    [ORACLE] 조인(JOIN)

    [ORACLE] 조인(JOIN)

    JOIN은 테이블과 테이블을 연결하기 위해 사용됩니다. 이런 조인을 알아보기 위해 테이블을 만들어서 비교해보려고 합니다. DROP TABLE X,S,M; CREATE TABLE M (M1 CHAR(6), M2 VARCHAR(10)); CREATE TABLE S (S1 CHAR(6), S2 VARCHAR(10)); CREATE TABLE X (X1 CHAR(6), X2 VARCHAR(10)); INSERT INTO M VALUES('A','1'); INSERT INTO M VALUES('B','1'); INSERT INTO M VALUES('C','3'); INSERT INTO M VALUES(NULL, '3'); INSERT INTO S VALUES('A','X'); INSERT INTO S VALUES..

    [ORACLE] 서브쿼리(SUBQUERY)

    [ORACLE] 서브쿼리(SUBQUERY)

    1. SUBQUERY(서브쿼리) 서브쿼리(SUBQUERY)는 SELECT, INSERT, UPDATE, DELETE 문 또는 다른 SUBQUERY 안에 들어가는 SELECT 구문이며 중첩된 SELECT문 이라는 뜻으로 NESTED SELECT라고도 합니다. 사용규칙 1. 모든 서브쿼리는 괄호로 싸여진다. 2. 서브쿼리 안에 서브쿼리가 들어갈 수 있다. 3. 서브쿼리의 SELECT문에서는 하나의 컬럼값, 또는 이를 응용한 하나의 표현식만 사용할 수 있다. 4. 서브쿼리에서 COMPUTE(ROLLUP, CUBE), SELECT INTO(원본 그대로 생성/복사)는 사용할 수 없다. 5. 주 쿼리의 테이블 컬럼은 모두 서브쿼리에서 참조하여 서용할 수 있다. 6. 서브쿼리에서 SELECT 하지 않은 컬럼은 주 쿼..

    [ORACLE] 순위함수(RANK), 계층형함수

    [ORACLE] 순위함수(RANK), 계층형함수

    1. 순위함수 1-1. RANK RANK함수는 동일한 값과 동일한 순위를 나타내는 함수입니다. SELECT ENAME, SAL, RANK() OVER(ORDER BY SAL DESC) AS RANK FROM EMP; 값이 같을 경우 경우 공동 순위로 표현이 됩니다. FORD와 hong의 SAL 값이 3000으로 공동 2등으로 RANK되며 3등은 건너뛰고 그다음 순위는 4등으로 RANK 됩니다. 1-2. DENSE_RANK DENSE_RANK는 동일한 갑과 동일한 순위를 표한하지만 같은 순위는 하나의 건수로 표현합니다. SELECT ENAME, SAL, DENSE_RANK() OVER(ORDER BY SAL DESC) AS DENSERANK FROM EMP; FROD와 hong의 SAL값이 3000으로 동..

    [ORACLE] Top N Query(ROWID / ROWNUM)

    [ORACLE] Top N Query(ROWID / ROWNUM)

    1. Top N Query(ROWID / ROWNUM) Top N Query는 테이블을 만들 때 만들지 않아도 오라클에서 자체적으로 만들어주며 식별자로 사용합니다. 또한 수정할 수 없습니다. CREATE TABLE ROWTEST(NO NUMBER); INSERT INTO ROWTEST VALUES(111); INSERT INTO ROWTEST VALUES(222); INSERT INTO ROWTEST VALUES(333); 먼저 테스트를 위해 ROWTEST 테이블을 만들고 값을 넣어주겠습니다. ROWTEST 테이블에는 NUMBER형의 NO라는 이름을 가진 컬럼이 있습니다. ​ ​ SELECT ROWID, ROWNUM, NO FROM ROWTEST; ​ ​ DELETE FROM ROWTEST WHERE N..

    [ORACLE] 정렬 - ORDER BY

    [ORACLE] 정렬 - ORDER BY

    ORDER BY ORDER BY는 쿼리의 결과를 정렬하기 위해 사용합니다. ASC -> 오름차순 DESC -> 내림차순 생략할 경우 자동으로 오름차순 SELECT 컬럼 FROM 테이블 WHERE 조건 GROUP BY 컬럼 ORDER BY 컬럼 --이런 형식으로 사용함 ​ --Q) 월급을 기준으로 오름차순 정렬하여, EMP 테이블의 모든 것을 출력하자. SELECT * FROM EMP ORDER BY SAL; 해당 코드와 같이 컬럼 명을 입력해도 되지만 컬럼이 위치한 순서를 입력해도 가능함. SELECT * FROM EMP ORDER BY 6; 두 코드 모두 ORDER BY 컬럼 뒤에 오름차순 내림차순이 생략되어 자동으로 오름차순임 ASC를 써도 결과가 같음. 내림 차순으로 정렬하고자 하면 DESC 사용 ..

    [ORACLE] 그룹함수 - ROLLUP, CUBE, GROUPING SET

    [ORACLE] 그룹함수 - ROLLUP, CUBE, GROUPING SET

    그룹함수 그룹함수에 조건문을 줄 때는 WHERE이 아닌 HAVING을 사용합니다. WHERE과 HAVING의 차이는 그룹함수가 있고 없고 차이입니다. ​ --Q) 부서별 월급 합계를 구하자.(단, 월급의 합계가 7000 이상인 부서만 출력하자.) SELECT DEPTNO, SUM(SAL) FROM EMP HAVING SUM(SAL) >= 7000 GROUP BY DEPTNO; ​ ​ 1. ROLLUP ROLLUP은 순차적으로 중간 합계를 출력합니다. ROLLUP함수 안 컬럼의 순서가 바뀌면 결과도 바뀌게 됩니다. ​ ROLLUP의 출력 순서 ​ --EX) SELECT A, B, COUNT(*) FROM TMP GROUP BY ROLLUP(A,B); A, B, COUNT(*) UNION ALL A, NUL..

    [ORACLE] UNION, UNION ALL, INTERSECT, MINUS

    [ORACLE] UNION, UNION ALL, INTERSECT, MINUS

    1. UNION UNION은 합집합과 같습니다. SELECT DEPTNO FROM DEPT UNION SELECT DEPTNO FROM EMP; 중복값을 제외한 두 테이블에서 출력하고자 하는 컬럼의 값을 모두 출력합니다. ​ 2. UNION ALL UNION ALL의 경우 중복을 허용하는 합집합입니다. 정확히 합집합보다는 더하기에 가깝습니다. 중복된 값도 출력합니다. SELECT DEPTNO FROM DEPT UNION ALL SELECT DEPTNO FROM EMP; 모든 값이 출력이 됩니다. ​ 3. INTERSECT INTERSECT는 교집합과 같습니다. 중복되는 값들만 출력합니다 SELECT DEPTNO FROM DEPT INTERSECT SELECT DEPTNO FROM EMP; ​ ​ 4. M..

    [ORACLE] 집계함수 - COUNT, MAX, MIN, SUM, AVG

    [ORACLE] 집계함수 - COUNT, MAX, MIN, SUM, AVG

    집계함수 1. COUNT COUNT함수는 몇 개의 값인지를 카운트하는 함수입니다. SELECT COUNT(COMM) FROM EMP; COUNT는 NULL 값을 제외한 모든 값을 카운트해줍니다. NULL은 모든 연산에서 제외가 됩니다. EMP 테이블의 모든 ROW의 갯수는 현재 13입니다.(ENAME이 hong인 값을 기존에 추가했음) 하지만 COMM을 가진 것을 카운트해보니 5가 나옵니다. NULL 값만 제외할 뿐 0은 포함하여 카운트합니다. NULL 값도 포함해서 카운트하고 싶다면 NVL 함수를 사용하는 방법이 있습니다. SELECT COUNT(COMM), COUNT(NVL(COMM,-1)) FROM EMP; ​ 2. MAX MAX는 해당 컬럼의 최대값을 구하는 함수입니다. SELECT MAX(SAL..