본문 바로가기

5. 실습(3) - Join Edit 5. 실습(3) - Join DBMS는 데이터를 하나의 테이블에 저장하는 것이 아니라 샘플 데이터 베이스 개요 의 ERD처럼 특성에 맞추어 분할해서 저장한다. 따라서 제대로 된 정보를 보기 위해서는 관련된 테이블을 결합(JOIN)해서 보여 줘야 한다. 이러한 결합을 조인(JOIN)이라고 하고 기준에 따라 Left, Right로 나뉘고, 데이터 일치 여부에 따라 Inner, Outer 등으로 구분된다. 여기서는 Left Inner만 다룰 예정으로 대부분의 SELECT문이 Left Inner 조인 이기 때문이다. 일반적으로 조인이라고 하면 Left Inner을 의미할 정도로 많이 쓰이고, 정의하자면 두 테이블 간의 교집합이라고 할 수 있다. 즉, 두 테이블간에 공통으로 있는 값을 찾는 것이라고 할 .. 더보기
4. 실습(2) - Group Edit 4. 실습(2) - Group 기초 문제에서는 고려하지 않고 넘어갔지만 모든 직원이 현재 근무 중인 것은 아니다. 샘플 데이터 베이스 개요를 보면 퇴사 관련 필드가 없는 것으로 나타나 있다. 따라서 추측으로 퇴사 여부를 파악했고 종료일자가 있는 테이블의 데이터를 살펴보면 ‘9999-01-01’인 데이터가 있다. 인터넷으로 본 샘플 데이터베이스에 대한 설명을 못 찾았는데 의미상 현재 근무 중인 직원은 급여나 현재 근무 부서, 업무의 종료일자가 없을 것이다. 종료일자가 없다는 의미를 ‘9999-01-01’로 사용한 것 같다. 다음 SQL문을 실행해 보면 데이터 개수가 일치한다. SELECT COUNT(*) FROM SALARIES WHERE TO_DATE='9999-01-01'; SELECT COU.. 더보기
3. 실습(1) - BASIC Edit 3. 실습(1) - BASIC 샘플 데이터 베이스 개요 데이터를 제공하는 MySQL에 따르면 here 준비된 데이터는 다음과 같은 개수(expected_records)를 가진다. 각 테이블의 데이터를 확인하는 SQL문을 만들어 보자 table_name expected_records expected_crc employees 300024 4d4aa689914d8fd41db7e45c2168e7dcb9697359 departments 9 4b315afa0e35ca6649df897b958345bcb3d2b764 dept_manager 24 9687a7d6f93ca8847388a42a6d8d93982a841c6c dept_emp 331603 f16f6ce609d032d6b1b34748421e9195c508.. 더보기