본문 바로가기
728x90
반응형

DB/ORACLE47

Equi Join, Non-Equi Join SELECT s.name 학생이름, s.deptno "전공번호", d.dname 학과이름, s.profno 교수번호 FROM STUDENT s, DEPARTMENT d, PROFESSOR p WHERE s.deptno = d.deptno AND s.profno = p.profno; 이걸 ANSI 로 바꾸면 SELECT s.name 학생이름, s.deptno "전공번호", d.dname 학과이름, s.profno 교수번호 FROM STUDENT s JOIN DEPARTMENT d ON s.deptno = d.deptno JOIN PROFESSOR p ON s.profno = p.profno; 2022. 12. 26.
Student, Department, Professor, gift, customer 샘플 테이블 데이터 SALGRADE는 아래걸 쓰자. CREATE TABLE SALGRADE (GRADE NUMBER(2), LOSAL NUMBER(5), HISAL NUMBER(5)); INSERT INTO SALGRADE VALUES (1, 700, 1200); INSERT INTO SALGRADE VALUES (2, 1201, 1400); INSERT INTO SALGRADE VALUES (3, 1401, 2000); INSERT INTO SALGRADE VALUES (4, 2001, 3000); INSERT INTO SALGRADE VALUES (5, 3001, 9999); create table gift ( gno number , gname varchar2(20) , g_start number , g_end numb.. 2022. 12. 23.
JOIN의 종류 EQUI JOIN : 동일 칼럼을 기준으로 조인. 가장 흔히 사용하는 조인. 연결고리가 없으면 조회가 나오지 않음. NON-EQUI JOIN : 동일 칼럼이 없이 다른 조건을 사용하여 조인 OUTER JOIN : 조인 조건에 만족하지 않는 행도 나타냄 SELF JOIN : 동일 테이블에 서로 다른 별칭을 달아 조인 2022. 12. 23.
CTAS 를 활용한 테이블 생성(서브 쿼리를 활용한 방법), INNER JOIN, FULL OUTER JOIN(ANSI SQL에서만 가능) 예) CREATE TABLE DEPT1 AS SELECT DEPTNO, DNAME FROM DEPT WHERE DEPTNO IN (10, 20); CREATE TABLE DEPT2 AS SELECT DEPTNO, DNAME FROM DEPT WHERE DEPTNO IN (10, 30); 조회를 한다면, 아래 4 문장은 모두 동일한 결과를 준다. SELECT * FROM DEP1 D1, DEP2 D2 WHERE D1.DEPTNO = D2.DEPTNO; ANSI SQL을 사용한 방법들. SELECT * FROM DEP1 D1 JOIN DEP2 D2 ON D1.DEPTNO = D2.DEPTNO; SELECT * FROM DEP1 D1 INNER JOIN DEP2 D2 ON D1.DEPTNO = D2.DEPTN.. 2022. 12. 23.
728x90
반응형