SQL | OUTER JOIN
·
Computer Science/SQL
OUTER JOIN은 두 테이블을 조인할 때, 조건에 맞지 않는 행들도 포함시켜주는 조인입니다. 일반적인 INNER JOIN은 조건에 맞는 행만 반환하는 반면, OUTER JOIN은 조건에 맞지 않는 행도 포함시켜서 결과에 포함시킵니다.FULL OUTER JOIN양쪽 테이블의 모든 행을 반환하고, 일치하지 않는 행은 NULL을 반환합니다.SELECT S.STUDENT_ID, S.NAME, E.COURSE_ID, E.GRADEFROM STUDENT SFULL OUTER JOIN ENROLLMENT EON S.STUDENT_ID = E.STUDENT_ID;STUDENT_IDNAMECOURSE_IDGRADE1001AliceCS101A1002BobMATH201B..
SQL | INNER JOIN, NATURAL JOIN, EQUI JOIN 완벽 정리
·
Computer Science/SQL
JOIN은 SQL에서 둘 이상의 테이블을 연결하여, 관련 있는 데이터를 조합해 하나의 결과로 보여주는 연산입니다. INNER JOIN, NATURAL JOIN, EQUI JOIN에 대해 정리해 보겠습니다.INNER JOIN두 테이블 간 공통된 값을 기준으로 일치하는 행만 반환하는 JOIN 방식입니다. 일반적으로 ON 절을 사용해서 두 테이블을 연결할 기준(column)을 지정합니다. 공통되는 값이 있는 행만 결과로 보여주기에, 조건을 만족하지 않으면 해당 행은 결과에 포함되지 않습니다. SELECT E.FirstName, D.DeptNameFROM Employee EINNER JOIN Department DON E.DeptID = D.DeptID;이 쿼리는 Employee 테이블과 Department 테..
SQL | 관계형 데이터베이스에서 Cartesian Product란?
·
Computer Science/SQL
Cartesian ProductCartesian Product(카티션 곱) 는 두 개의 릴레이션(테이블)에 있는 모든 튜플(행) 을 서로 모든 가능한 조합으로 결합한 결과를 의미합니다. SQL에서는 조인 조건 없이 두 테이블을 결합할 때 발생하며, CROSS JOIN 또는 단순히 FROM A, B를 사용했을 때도 동일한 결과가 나옵니다.두 개의 테이블을 카티션 곱을 해 봅니다.StudentIDNameCourseIDCourseName1Alice101Database1Alice102Algorithms2Bob101Database2Bob102Algorithms결과 튜플 수는 첫 번째 테이블 행 수 × 두 번째 테이블 행 수로, 총 4개가 나옵니다. SELECT *FROM StudentCROSS JOIN Cours..
SQL | UNION과 DIFFERENCE 정리
·
Computer Science/SQL
UNION (합집합)두 개의 릴레이션(테이블)에서 모든 행을 합쳐서 중복 없이 반환하는 연산입니다. 이때, 두 테이블의 속성(컬럼)의 수가 같아야 하고, 각 속성의 도메인(데이터 타입)이 동일해야 합니다. 예시로, 프로젝트 위치 도시들과 Simpson 직원이 거주하는 도시들을 모두 나열하고 두 정보를 결합해서 출력해 보겠습니다.SELECT Location AS CityFROM Project우선, 프로젝트 테이블의 위치 도시들을 선택합니다. 이 쿼리문은 Toronto, London, New York, San Francisco를 출력할 것입니다.SELECT CityFROM EmployeeWHERE Name = 'Simpson'Employee 테이블에서 Name이 "Simpson"인 직원들의 City(도시) ..
SQL | Selection과 Projection 정리
·
Computer Science/SQL
SelectionSelection은 테이블에서 특정 조건을 만족하는 행(row)만 선택하여 반환하는 연산입니다. SQL에서는 WHERE 절과 동일한 역할을 합니다.SELECT * FROM Project WHERE Location = 'Toronto' OR Location = 'London';Project 테이블에서 Location이 "Toronto" 또는 "London"인 모든 행을 선택합니다.SELECT Address, FirstName FROM Employee WHERE Sex = 'M';Employee 테이블에서 성별이 남성(M)인 직원의 주소(Address)와 이름(FirstName)만 선택합니다.ProjectionProjection은 테이블에서 원하는 열(column)만 선택하여 반환하는 연산입..
SQL | 관계형 데이터베이스의 기본 관계 유형 (1:1, 1:N, M:N 관계)
·
Computer Science/SQL
1:1 관계 (One-to-One)한 테이블의 하나의 행이 다른 테이블의 정확히 하나의 행과만 연결되는 관계를 말합니다. 보통 한쪽이 다른 테이블의 기본 키 또는 유일 키를 외래 키로 참조합니다. 위를 예시로 들어보겠습니다. 우리는 Person과 Passport 두 개의 테이블이 있습니다. 하나의 사람은 하나의 여권을 가지고, 하나의 여권은 하나의 사람에만 속합니다. 그러므로 1:1 관계의 조건을 충족합니다. 또한, Passport 테이블이 외래 키를 가지고 있어서 Person을 참조(reference) 하기 때문에 화살표는 "사람 → 여권" 방향으로 향합니다. 1:N 관계 (One-to-Many)한 테이블의 한 행이 다른 테이블의 여러 행과 연결되는 가장 일반적인 관계입니다. "부모-자식" 구조이며, ..
올리브한입
올리브코드랩