본문 바로가기

DATA BASE

(48)
SELF JOIN/ANSI JOIN SELF JOIN 오라클 조인 내 테이블 2개 놔두고 INNER JOIN ANSI JOIN INNER JOIN 오라클 문법 ANSI 문법 위 아래 같은 결과! AND , WHERE 둘다 쓰는 예시 ANSI JOIN LEFT OUTER JOIN RIGHT OUTER JOIN FULL OUTER JOIN(ANSI 문법만 있음 오라클 문법은 없음) LEFT OUTER JOIN 비교하기 위해서 오라클 문법 INNER JOIN ANSI 문법 LEFT OUTER JOIN 왼쪽 기준으로 ANSI 문법 RIGHT OUTER JOIN 오른쪽 기준으로 .ANSI 문법 FULL OUTER JOIN 두 테이블 내용 전부 다 나오도록 매칭 안된거는 다 NULL값
synonym(동의어) 내 테이블 사용자에서 저렇게 적어주기 creat public synonym 테이블 FROM 테이블 매번 FROM EMP 처럼 하는데 새로운 사용자가 그냥 FROM EMP 하면 안되고 FROM 새로운 사용자.EMP 해야하는데 매번 그럴 수 없기 때문이고 이미 있는 쿼리들 다 오류나게 할 수 없기 때문에 그냥EMP가 가능하게 해야한다. --문법 CREATE OR REPLACE [PUBLIC / PRIVATE] SYNOYM [사노님명] FOR [객체명] --예제 CREATE OR REPLACE EMP FOR 사용자명.EMP; PUBLIC/PRIVATE 안적어주면 PUBLIC으로 됨. synonym 사용권한 부여 GRANT SELECT ON [시노님명] TO [계정명]
JOIN (CERTESIAN JOIN, INNER JOIN, OUTER JOIN) ANSI JOIN : 표준 문법 장점 - MIGRATION할 때 좋아요 (Mysql -> 마리아) 데이터 베이스 오라클 문법 비싸지만 더 좋은 기능들이 많아요! 마리아 무료 오라클 DB 테이블의 한 행(레코드) = 오브젝트 ->오브젝트를 저장 할 수 없으니까 ->FK PK 유니크함 - 한테이블에 여러개 만들 수는 있지만 그렇게 하지마! FK 참조 제약 조건 (Constraint) 외례키 CERTESIAN JOIN 14개 4개 INNER JOIN 예시 하나더 SELECT * FROM PROFESSOR P , STUDENT S WHERE P.PROFNO = S.PROFNO; 담당교수 목록만 보자! SELECT S.NAME, P.NAME FROM STUDENT S, PROFESSOR P WHERE S.PROF..
LAG(), LEAD()/RANK()OVER()/PARTITION BY/ 원재 LAG() LEAD() RANK()OVER() PARTITION BY
복수행 함수 ROLLUP(), PIVOT() OLTP : 실시간/ 내 데이터가 메모리에 있나 OLAP : 정산/ 소계, 총계 구하기 UNIOND으로 쿼리 문장들을 붙혀서 소계나 총계를 구할 수있다. 또! ROLLUP()함수의 기능이 이걸 해준다! ROLLUP() 차이나는 예시 CASE WHEN GROUP BY 이해 그룹을 만들 줄 알아야 한다. 꼭 알아야하는 규칙 SELECT 그룹함수 말고 다른 컬렴명쓰고 싶으면 GROUP BY 그 컬럼명을 적어줘야 함! 중요한 기능!! PIVOT() 근데 이 함수를 사용해도 되고 그냥 하는 방법으로 해도 됨. PIVOT() 사용하지 않고 이 기능을 할 수 있는 거 중요!! 위 처럼 원래는 세로로 봐야하는 데이터들을 가로로 보기위해 컬럼명에 POSITION 값들을 가로로 올려서 보기 편하게 하는 기능!! 어떤 포지..
세로연산 실행순서, 그룹함수, 서브쿼리, CASE WHEN 조건 THEN 실행 실행 순서 5 SELECT 1 FROM 2 WHERE 3 GROUPING 4 HAVING 6 ORDER BY HAVING - 그룹핑한 결과에 대한 WHERE GROUP BY랑 HAVING은 한 세트~! 1.FROM 절에서 테이블의 목록을 가져옴 2.WHERE 절에서 검색 조건에 불일치 하는 행 제외 3.GROUP BY 절에서 명시된 행의 값을 그룹화 4.HAVING 절이 GROUP BY 절의 결과 행 중 검색 조건에 불일치 하는 행 제외 5.SELECT 절에서 명시된 열을 선택 6.ORDER BY 절에서 열을 기준으로 출력할 대상을 정렬 후 출력 GROUP 함수 MAX() 서브쿼리 예시 월급 순위 구하기 GROUP BY HAVING - 그룹핑한 결과에 대한 WHERE GROUP BY랑 HAVING은 한 ..
오라클20200325 ALTER SESSION SET NLS_DATE_FORMAT = 'YY-MM-DD'; 'YYYY-MM-DD'로도 가능. LIKE REGEXP_LIKE : 특정 문자나 숫자를 찾을 수 있는 구글링을 위한 키워드 예를 들어 한글이 포함된 것을 찾을 때 - REGEXP_LIKE : 정규 표현식을 찾을 수 있다. NULL 인거 IS NOT NULL IS NULL NVL NULL값을 만나면 다른 값으로 치환해서 출력하는 함수 예) NVL(SAL, 0) -> SAL 컬럼의 값이 NULL일 경우 NULL대신 0으로! NVL(SAL, 100) -> SAL 컬럼의 값이 NULL일 경우 NULL대신 100으로! 실습) 정렬 - 오름차순, 내림차순 순서!! 3S1F2W4O ORDER BY 컬럼명 ASC; 오름차순 ORDER..
오라클 DUAL, SUBSTR, INSTR, LPAD, REPLACE 환경 윈도우10 64비트 오라클 18c 익스프레스 DUAL 은 가상 테이블이다. 아래와 같이 테스트 용으로 사용 SELECT 'CRIS' FROM DUAL; 행 줄이기 SUBSTR(), INSTR() 문자열 자르기 함수 SUBSTR( , , ) 첫번째 인자는 문자열, 두번째 인자는 시작 번지, 세번째 인자는 개수 오라클은 인덱스 1부터 시작한다. 0을 넣어도 작동은 된다. SELECT SUBSTR('CRIS', 0, 1) FROM DUAL; SELECT SUBSTR('CRIS', 1, 1) FROM DUAL; SUBSTR()함수로 데이터 잘라서 찾아낼 수도 있음. SELECT * FROM 테이블 WHERE SUBSTR(열이름, 문자열 시작위치, 문자 개수) = '문자 또는 문자열'; 예시 1 SELECT..