SQL 57

SQL 36(여러 테이블의 데이터 조인해서 출력하기/ FULL OUTER)

여러 테이블의 데이터 조인해서 출력하기 FULL OUTER 조인 방법으로 이름, 직업, 월급, 부서, 위치 출력하기 FULL OUTER JOIN = RIGHT OUTER JOIN + LEFT OUTER JOIN --FULL OUTER JOIN 사용하지 않고 출력하고 싶다면?-- select e.ename as 이름, e.job as 직업, e.sal as 월급, d.loc as 부서위치 from emp e LEFT OUTER JOIN dept d on (e.deptno = d.deptno) UNION select e.ename, e.job, e.sal, d.loc from emp e RIGHT OUTER JOIN dept d on (e.deptno = d.deptno);

SQL 2023.06.19

SQL 34(여러 테이블의 데이터를 조인해서 출력하기/ NATURAL JOIN)

조인 조건을 명시적으로 작성하지 않아도 FROM 절에 EMP와 DEPT 사이에 NATURAL JOIN을 기술하면 조인이 된다...! 두 테이블에 둘 다 존재하는 동일한 컬럼을 기반으로 암시적인 조인을 수행한다 들 다 존재하는 동일한 컬럼인 deptno 를 오라클이 알아서 찾아 이를 이용해 조인을 수행한다 where절 기술할 때 조인의 연결고리가 되는 컬럼인 deptno는 테이블명을 테이블 별칭없이 기술해야 한다 NATURAL JOIN에 사용된 열은 식별지를 가질 수 없다

SQL 2023.06.13

SQL 32(여러 테이블의 데이터를 조인해서 출력하기/ ON절)

JOIN 작성법은 두가지로 나뉜다. 조인 문법의 종류 조인의 종류 조인 문법의 종류 조인의 종류 오라클 조인 EQUI JOIN ANSI/ISO SQL:1999 standards ON절을 사용한 JOIN NON EQUI JOIN LEFT/RIGHT/FULL OUTER JOIN OUTER JOIN USING절을 사용한 JOIN SELF JOIN CROSS JOIN ANSI/ISO JOIN 작성법은 오라클 9i 버전부터 지원되었다 EQUI 조인과 ON절의 작성의 차이 --EQUI-- select e.ename, d.loc from emp e, dept d, salgrade s where e.deptno = d.deptno and e.sal between s.losal and s.hisal; --ON-- sel..

SQL 2023.06.09

SQL 31(여러 테이블의 데이터 조인해서 출력하기/ SELF JOIN)

사원 테이블 자기 자신의 테이블과 조인하여 이름, 직업, 해당 사원의 관리자 이름과 관리자의 직업 출력해보기 martin, allen, turner, ward 의 관리자는 blake 다 PRESIDENT,즉 사장인 KING 아래로 KING의 직속인 BLAKE, CLARK, JONES가 있다 BLAKE 밑에는 BLAKE의 직속인 MARTIN, ALLEN, TURNER, WARD, JAMES가 있다 이는 MGR 컬럼으로 인해 정해진 기준 MGR은 해당 사원의 직속 상사의 사원 번호로, 직속 상사는 해당 사원의 관리자가 된다 emp.m이 관리자 테이블, emp.e 는 사원 테이블으로 별칭 지정

SQL 2023.06.08

SQL 30(여러 테이블의 데이터 조인해서 출력하기/ OUTER JOIN)

사원 테이블과 부서 테이블을 조인하여 이름과 부서 위치를 출력해보기 + boston도 같이 출력 EQUI JOIN 시 EMP와 DEPT 테이블과의 조인 겨로가에는 BOSTON이 출력되지 않았다. => BOSTON이 출력되지 않은 이유는 EMP테이블에 40번 부서 번호가 없어서 DEPT 테이블과 조인이 되지 않았기 때! BUT 위의 결과와 같이 BOSTON에 사원이 배치되지 않았음을 알기 위해선 OUTER JOIN을 사용해야 한다 OUTER JOIN은 기존 EQUI JOIN문법에 OUTER JOON SIGN(+)만 추가한다 OUTER JOIN SIGN (+)는 테이블 중 겨록가 덜 나오는 쪽에 붙여준다 Where e.deptno (+) = d.deptno; ▶EQUI JOIN 은 양쪽에 다 존재하는 데이터..

SQL 2023.06.07

SQL 29(여러 테이블의 데이터를 조인해서 출력하기 / NON EQUI JOIN)

사원(emp)테이블과 급여 등급(salgrade) 테이블을 조인하여 이름, 월급, 급여 등급을 출력하기 losal은 등급을 나누는 월급 범위의 하단, hisal은 월급 범위의 상단을 나타낸다 emp와 grade 사이에는 동일한 컬럼이 없다 -> EQUI 조인 사용 불가 이럴 때 사용하는것이 NON EQUI JOIN 두 테이블 사이 동일한 컬럼은 없지만 비슷한 컬럼이 있다 emp의 sal r컬럼과 salgrade의 losal. hisal 컬럼 -> emp 테이블의 월급은 lowsal과 hisal사이에 존재 이 조건이 where e.sal between s.losal and s.hisal; 이렇게 나온다

SQL 2023.06.02

SQL 28(여러 테이블의 데이터를 조인해서 출력하기/ EQUI JOIN)

사원(emp) 테이블과 부서(dept) 테이블을 조인하여 이름과 부서 위치를 출력하기 서로 다른 테이블에 있는 컬럼들을 하나의 결과로 출력하려면 JOIN을 사용해야 한다 ename은 emp테이블에 존재하고, loc은 dept 테이블에 존재하므로, ename과 loc를 하나의 결과로 출력하기 위해선 from절에 emp, dept 테이블을 둘 다 사용해줘야 한다. empt와 dept를 조인하기 위해서는 조인 조건이 필요하다 조인 조건은 두개의 테이블을 연결하기 위한 연결고리다 emp 테이블에도 deptno가 존재하고, dept 테이블에도 deptno가 존재하므로 emp 테이블의 부서 번호는 dept 테이블의 부서 번호와 같다라는 조건 emp.deptno = dept.deptno 를 입력해 조인을 수행한다 이..

SQL 2023.06.01

SQL 27 (출력되는 행 제한하기/ Simple TOP-n Queries)

● 월급이 높은 사원순으로 사원번호, 이름, 직업, 월급을 4개의 행으로 제한해서 출력하기 TOP-N Query 는 정렬된 결과로부터 위, 아래의 N개의 행을 반환하는 쿼리. rownum을 이용하면 복잡해지지만, fetch first nrows only를 통해 간편하게 출력이 가능하다 ● 월급 높은 사원 중 20%에 해당하는 사원들만 출력하기 fetch first 20% rows only는 % 기호로 인해 에러발생 ● 사원테이블 전체 사원 중 월급이 10번째로 높은 사원부터 결과 출력하기 offset + fetch ++ 위 쿼리에서 2개의 행만 출력하기

SQL 2023.05.31