반응형

SQL 9

[오라클로 배우는 데이터베이스 입문 | 09장 SQL문 속 또 다른 SQL문, 서브쿼리] 문제 풀이 (p262)

[오라클로 배우는 데이터베이스 입문] 09장 SQL문 속 또 다른 SQL문, 서브쿼리 문제 풀이 (p262) Q1. 전제 사원 중 ALLEN과 같은 직책(JOB)인 사원들의 사원 정보, 부서 정보를 다음과 같이 출력하는 SQL문을 작성해라. *WHERE절 뒤에 작성하는 단일행 서브쿼리 문제 Q2. 전체 사원의 평균 급여(SAL)보다 높은 급여를 받는 사원들의 사원 정보, 부서 정보, 급여 등급 정보를 출력하는 SQL문을 작성해라. (급여가 많은 순으로 정렬하되, 급여가 같을 경우에는 사원 번호를 기준으로 오름차순으로 정렬) *WHERE절 뒤에 작성하는 단일행 서브쿼리 문제 *출력하고자 하는 열의 순서대로 기입해야 함. Q3. 10번 부서에 근무하는 사원 중 30번 부서에는 존재하지 않는 직책을 가진 사원..

서브쿼리 | 다중열 서브쿼리 / FROM절 서브쿼리(인라인뷰)와 WITH절 / SELECT절 서브쿼리(스칼라 서브쿼리)

09. SQL문 속 또 다른 SQL문, 서브쿼리 09-4. 비교할 열이 여러 개인 다중열 서브쿼리 서브커리의 SELECT절에 비교할 데이터를 여러 개 지정하는 방식 다중열 서브쿼리 = 복수열 서브쿼리 데이터 면에서 의미있는 출력은 아니지만, 여러 개의 열을 비교하는 방법으로 실무에서 유용하게 쓰임. 09-5. FROM절에 사용하는 서브쿼리와 WITH절 FROM절에 사용하는 서브쿼리 = 인라인 뷰 특정 테이블 전체 데이터가 아닌, SELECT문을 통해 일부 데이터를 먼저 추출해 온 후 별칭 사용 가능. *테이블 내 데이터 규모가 너무 클 때 유용하지만, FROM절에 너무 많은 서브쿼리를 지정하면 가독성 및 성능이 떨어지므로 WITH절을 사용. WITH [별칭1] AS (SELECT문 1) [별칭2] AS ..

서브쿼리 | 다중행 서브쿼리 / 다중행 연산자 (IN / ANY, SOME / ALL / EXISTS)

09. SQL문 속 또 다른 SQL문, 서브쿼리 09-3. 다중행 서브쿼리 다중행 서브쿼리: 실행 결과 행이 여러 개로 나오는 서브쿼리. 서브쿼리 결과가 여러 개이므로, 다중행 연산자를 사용해야 메인쿼리 비교 가능(단일행 연산자 사용 불가). 다중행 연산자 설명 IN 메인쿼리의 데이터가 서브쿼리의 결과 중 하나라도 일치한 데이터가 있다면 true ANY, SOME 메인쿼리의 조건식을 만족하는 서브쿼리의 결과가 하나 이상이면 true ALL 메인쿼리의 조건식을 서브쿼리의 결과 모두가 만족하면 true EXISTS 서브쿼리의 결과가 존재하면(즉, 행이 1개 이상일 경우) true [IN 연산자] 메인쿼리의 데이터가 서브쿼리의 결과 중 하나라도 일치한 데이터가 있다면 true - 각 부서별 최고 급여와 동일한..

서브쿼리 | 서브쿼리란? / 서브쿼리의 특징/ 서브쿼리의 종류와 사용 / 단일행 서브쿼리

09. SQL문 속 또 다른 SQL문, 서브쿼리 09-1. 서브쿼리 [서브쿼리란?] SQL문을 실행하는 데 필요한 데이터를 추가로 조회하기 위해 SQL문 내부에 사용하는 SELECT문. - JONES보다 급여가 높은 사원 조회하기 [서브쿼리의 특징] 연산자와 같은 비교 또는 조회 대상의 오른쪽에 놓이며, 괄호 ()로 묶어 사용. 특수한 경우를 제외한 대부분의 서브쿼리에서는 ORDER BY 사용 불가능. 서브쿼리의 SELECT절에 명시한 열은 메인쿼리의 비교 대상과 같은 자료형과 같은 개수로 지정해야 함. 서브쿼리에 있는 SELECT문의 결과 행 수는 함께 사용하는 메인쿼리의 연산자 종류와 호환 가능해야 함. [서브쿼리의 종류와 사용] - WHERE절 뒤에서 단일 행 서브쿼리 다중 행 서브쿼리 다중 열 서..

[오라클로 배우는 데이터베이스 입문 | 08장 여러 테이블을 하나의 테이블처럼 사용하는 조인] 문제 풀이 (p239)

[오라클로 배우는 데이터베이스 입문] 08장 여러 테이블을 하나의 테이블처럼 사용하는 조인 문제 풀이 (p239) Q1. 급여(SAL)가 2000 초과인 사원들의 부서 정보, 사원 정보를 아래와 같이 출력해라. Q2. 아래와 같이 각 부서별 평균 급여, 최대 급여, 최소 급여, 사원수를 출력해라 *결과 값이 한 행으로 나오는 데이터(D.DEPTNO, D.DNAME)와 여러 행이 나오는 데이터, 즉 다중행 함수(AVG, MAX, MIN, COUNT)를 함께 명시할 경우 오류가 발생하므로, GROUP BY절에 D.DEPTNO, D.DNAME 명시 필요. Q3. 모든 부서 정보와 사원 정보를 아래와 같이 부서 번호, 사원 이름순으로 정렬하여 출력해라. *왼쪽 외부 조인(Left Outer Join)을 사용해야..

조인 | SQL-99 조인 (NATURAL JOIN / JOIN ~ USING / JOIN ~ ON / OUTER JOIN)

08. 여러 테이블을 하나의 테이블처럼 사용하는 조인 08-3. SQL-99 표준 문법으로 배우는 조인 SQL-99 조인은 앞에서 배운 조인 방식과 기능은 같지만 문법이 다소 다르며, 다른 DBMS 제품에서도 사용 가능. FROM절에 조인 조건식을 명시하고, WHERE절에 출력 행을 선정하는 조건식을 명시하므로, 서로 구별하기 쉬운 게 장점. NATURAL JOIN JOIN ~ USING JOIN ~ ON OUTER JOIN [NATURAL JOIN] 등가 조인(inner join)과 같은 방식. (조인 대상이 되는 두 테이블에서 이름과 자료형이 같은 열을 찾은 후, 그 열을 기준으로 등가 조인.) *EMP, DEPT 테이블의 공통 열인 DEPTNO 열을 기준으로 등가 조인되며, 기존 등가 조인과 다르게..

조인 | 조인의 종류 (등가 조인 / 비등가 조인 / 자체 조인 / 외부 조인)

08. 여러 테이블을 하나의 테이블처럼 사용하는 조인 08-2. 조인 종류 두 개 이상의 테이블을 하나의 테이블처럼 가로로 늘어뜨려 출력하기 위해 사옹하는 조인은 대상 데이터를 어떻게 연결하느냐에 따라 아래와 같이 구분함. 등가 조인 비등가 조인 자체 조인 외부 조인 [등가 조인] - 테이블을 연결한 후, 출력 행을 각 테이블의 특정 열에 일치한 데이터를 기준으로 선정하는 방식. - 내부 조인(inner join), 단순 조인(simple join)으로 부르기도 함. - 일반적으로 가장 많이 사용되는 조인 방식. 여러 테이블의 열 이름이 같을 때 유의점 조인 조건이 되는 각 테이블의 열 이름이 같을 경우, 해당 열 이름을 테이블 구분 없이 명시하면 오류 발생. 따라서 아래와 같이 어느 테이블의 열인지 명..

조인 | 집합 연산자와 조인의 차이점 / 조인 조건이 없을 때의 문제점과 해결 방법 / 테이블 별칭 설정

08. 여러 테이블을 하나의 테이블처럼 사용하는 조인 08-1. 조인 조인(join): 두 개 이상의 테이블을 연결하여 하나의 테이블처럼 출력할 때 사용하는 방식. [집합 연산자와 조인의 차이점] 집합연산자: 두 개 이상의 SELECT문의 결과 값을 세로로 연결한 것 조인: 두 개 이상의 테이블 데이터를 가로로 연결한 것 [여러 테이블을 사용할 때의 FROM절] FROM절에는 여러 개의 테이블 형태(열과 행으로 구성된 데이터 집합)를 지정할 수 있음. *FROM절에 명시한 각 테이블을 구성하는 행이 모든 경우의 수로 조합되어 출력됨. (EMP테이블의 14개 행 하나하나에 DEPT 테이블에 저장된 4개의 행이 가로로 조합되어 출력되어, 14*4=56개의 행이 출력됨.) [조인 조건이 없을 때의 문제점과 해..

데이터 모델이란? | 데이터 모델의 개념과 종류 / 관계형 데이터베이스와 SQL

01. 데이터베이스 01-2. 데이터 모델 [데이터 모델이란?] - 컴퓨터에 데이터를 저장하는 방식을 정의해 놓은 개념 모형 - 대표 데이터 모델: 계층형, 네트워크형, 관계형, 객체 지향형 등 [데이터 모델의 종류] 계층형 데이터 모델 - 1960년대 말부터 1980년대 말까지 상업용 데이터베이스 시장에서 많이 사용함 - 나뭇가지 형태를 트리 구조를 활용 - 데이터 관련성을 계층별로 나누어 부모 자식 같은 관계를 정의하고 데이터를 관리 - 일대다 관계의 데이터 구조 - 부모가 여러 자식을 가질 수 있지만 자식이 여러 부모를 가질 수 없음 네트워크형 데이터 모델 - 망형 데이터 모델 - 그래프 구조를 기반 - 개체 간 관계를 그래프 구조로 연결하여 자식이 여러 부모를 가질 수 있음 객체 지향형 데이터 모..

반응형