일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- numpy/pandas
- 자바 실습
- 연습문제
- C++
- 코딩테스트
- 자바
- html/css
- 정수와유리수
- CSS
- 데이터분석
- 정보처리기사필기
- 데이터입출력구현
- 딥러닝
- 정보처리기사실기
- SQL
- 데이터베이스
- JSP/Servlet
- 혼공머신
- 중학수학
- 컴퓨터비전
- 파이썬
- pandas
- 텍스트마이닝
- CNN
- 영어공부
- 운영체제
- 컴퓨터구조
- 머신러닝
- 중학1-1
- 파이썬라이브러리
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
집합 연산자과 계층형 질의 1 - STANDARD SQL 본문
드디어 SQL 심화 학습을 공부할 때가 되었다. 이제 난 SQL 기초 단계는 뛰어넘은 것 같다.
이론 1 - STANDARD SQL
두 개의 테이블에서 살펴볼 때 어떤 경우에 해당되는지 파악해 본다. 카디션 프로덕트는 두 개의 테이블에서 가능한 모든 경우 수를 추출하는 것을 말한다.
차집합은 A와 B 중에서 공통된 데이터만을 제거하는 것이다.
셀렉션은 특정 행을, 프로덕션은 특정 열을, 조인은 두 테이블의 공통된 부분을 합해서 출력하는 것이다. 디비전은 연관된 데이터만 출력하는 것이다. 여기서 A에만 연관되어 있으므로 A만 출력되는 것이다.
셀렉션은 시그마 기호를 사용한다. A라는 릴레이션에 대하여 C가 3보다 작은 조건을 걸었다. 프로젝션은 파이 기호를 사용한다. A 컬럼과 B 컬럼에 대해서 조회하겠다는 의미이다. 조인은 종류마다 사용하는 기호가 조금씩 다르다. 리본 모양 뒤에 N을 붙이면 자연조인을 하겠다는 의미이다. 여기서는 A와 B에 대해 자연조인을 하니 3이 출력되었다.
디비전은 나눗셈 기호를 사용한다.
실습 1 - STANDARD SQL : 순수 관계 연산
모든 학생의 정보가 출력되었다. 두번째 지시사항은 이 중에서 3학년 학생만 조회하는 것이니 코드를 하나 더 작성해 보겠다.
문제를 잘 풀었다.
퀴즈 1 - STANDARD SQL
답을 틀리고 말았다. 일반 집합 연산과 순수 집합 연산을 구분할 수 있어야 한다. 일반 집합 연산에는 합집합, 교집합, 차집합, 카디션 프로덕션이 있는데 각각의 영어 이름은 다음과 같다. UNION, INTERSECT, EXCEPT, CROSS JOIN. 그리고 순수 집합 연산은 셀렉션, 프로덕션, 조인, 디비전이 있다.
이 문제는 두 가지 개념을 잘 알고 있어야 풀 수 있는 문제였다. 영어 이름까지 암기해 보자.
학습을 마치고
점심시간에 기다리는 동안 30분 동안 이 학습을 진행했다. 미리 공부를 해놓아야 오후에 이 수업에 대한 흥미를 느낄 수 있을 것 같았다. 심화 과정이라고 무척 어렵게 생각했는데 별로 그렇지 않았다.
기본이 잘 되어 있다면 충분히 이해할 수 있고 문제도 풀 수 있다는 걸 알게 되었다. 아무튼 3일 동안의 공부가 헛되지 않음을 느꼈다.
'알고리즘 및 자료 관리 > SQL' 카테고리의 다른 글
집합 연산자와 계층형 질의 3 - 집합연산자 개념 2 : UNION/ UNION ALL 2 <실습 문제 및 퀴즈 문제 풀기> (0) | 2024.10.22 |
---|---|
집합 연산자와 계층형 질의 2 - 집합연산자 개념 1 : UNION/ UNION ALL 1 <이론 및 실습 문제 풀기> (0) | 2024.10.22 |
인덱스 3 - 인덱스의 실제 사용 (0) | 2024.10.22 |
인덱스 2 - 인덱스의 내부 작동 (0) | 2024.10.22 |
인덱스 1 - 인덱스의 개념을 파악하자 (0) | 2024.10.22 |