본문 바로가기

데이터베이스68

SQL 여러 쿼리 결과 위아래로 연결하기 UNION - UNION 처럼 여러 개의 쿼리 결과를 하나의 결과로 출력한다. : 하지만 다른 점 ▶ 중복된 데이터를 하나의 고유한 값으로 출력, ▶ 첫 번째 컬럼의 데이터를 기준으로 내림차순 정렬됨 ▼ 부서 번호, 부서 번호별 토탈 월급, 맨 아래 행에 토탈 월급 출력 ▷ UNION ALL로 출력했을 때는 deptno 결과 데이터들이 순서 없이 출력됐는데 ▶ UNION 으로 출력하니까 10,20,30 이런식으로 내림차순으로 정렬됨 그리고 가장 큰 차이점 중 하나가, 중복이 출력되지 않는다. ▷ UNION ALL 로 출력했을 때는 COL1 데이터가 중복되어도 모두 출력되지만 ▷ UNION 으로 출력했을 때는 COL1 데이터가 중복된 것은 제외된 채 출력된다. 2024. 1. 5.
SQL 여러 쿼리 결과 위아래로 연결하기 UNION ALL - 여러 개의 쿼리 결과 데이터를 위 아래로 하나의 결과로 출력하는 집합 연산자 - 위쪽 쿼리 결과 데이터와 아래쪽 쿼리의 결과 데이터를 그대로 위아래를 붙여 출력 > 동일한 데이터가 있어도 중복 제거 하지 않고 그대로 출력 ▼ 부서 번호, 부서 번호별 토탈 월급, 맨 아래에 토탈 월급 출력 ▶ 아래 쿼리 중 TO_NUMBER(null)은 위쪽 쿼리 DEPTNO가 숫자이기 때문에 숫자형으로 동일하게 맞춤. ▷ NULL 로 해도 출력 값은 동일하게 출력됨 - UNION ALL 위쪽 쿼리/ 아래쪽 쿼리 컬럼 개수가 동일해야 함 - UNION ALL 위쪽 쿼리/ 아래쪽 쿼리 컬럼의 데이터 타입이 동일해야 함 - 결과로 출력되는 컬럼명은 위쪽 쿼리의 컬럼명으로 출력됨 - ORDER BY절은 아래쪽 쿼리에만 작성.. 2024. 1. 5.
SQL 여러테이블 데이터 조인 ANSI, FULL OUTER JOIN - LEFT / RIGHT OUTER JOIN을 한번에 수행하는 방법! 다 나오는겁니다! ▼ FULL OUTER 조인 방법으로 이름, 직업, 월급, 부서 위치를 출력 ▷ RIGHT OUTER JOIN 이었던 dept의 16행도 출력되고 LEFT OUTER JOIN이었던 emp 의 15행도 같이 출력됐다. 만약 FULL OUTER JOIN을 사용하지 않고 출력하려면 이렇게 LEFT 랑 RIGHT OUTER JOIN을 같이 적어줘야 한다. 그럼 쿼리가 너무 복잡해지고 길어지는것,, 2024. 1. 5.
SQL 여러테이블 데이터 조인 ANSI, LEFT/RIGHT OUTER JOIN - EQUI JOIN으로 조인이 안되는 결과를 출력하기 위해 사용 ▶ 오라인 OUTER JOIN과 같음 https://dev-adela.tistory.com/298 ▶ RIGHT OUTER JOIN을 사용하면 오른쪽 테이블의 데이터는 전부 출력됨 ▼ RIGHT OUTER 조인 방법으로 이름, 직업, 월급, 부서 위치 출력 ▷ 오른쪽 테이블인 DEPT 의 데이터가 모두 출력됨, DEPT 에는 부서위치가 출력되는데 이름, 직업, 월급 데이터는 없으니까 null 값이고 BOSTON에 있는 직원은 없지만 RIGHT OUTER JOIN이니까 DEPT의 데이터는 모두 출력됨. ▷ 만약 오라클 아우터 조인이라면 ▶ LEFT OUTER JOIN을 사용하면 왼쪽 테이블의 데이터들은 모두 출력된다. ▼ LEFT OUTER.. 2024. 1. 4.