커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
SQL에서 정의하는 방식이 이해하기 어렵습니다.
엑셀보다 쉬운 SQL
1주차
북마크
탁*현
댓글
2
추천
0
조회수
7
조회수
7
답변 완료


제가 테이블을 정의하는 방식을 이해하지 못하고 있는 것 같습니다.


이해하디 어려워서 도식화를 조금 해봤습니다....


아래에서 Table2를 만들 때 Table1을 참조한다는 가정을 했기 때문에

System1을 계산 한 후 System2의 계산으로 넘어갈 수 있습니다.


마찬가지로 Table3를 만들 때 Table2를 참조한다는 가정을 했디 때문에

System2를 계산 한 후 System3의 계산으로 넘어갈 수 있습니다.


사이드 이펙트를 주지 않는다는 것은

수학의 함수처럼

같은 입력에 대해서 항상 같은 출력을 되돌려주는 참조 투명이라는 것입니다.


함수가 작동 할 때 마다 앞 단에 있는 (데이터 및)System이 바뀌지 않게 하기 위함입니다.


스파르타 즉문즉답

System1 안의 Table1 을 checkins 테이블이라고 가정 할 때


1번. 아래 코드를 실행 했을 때

Select * from checkins 


1.1. 아래 3개의 테이블 안에 있는 데이터는 모두 같음

  • System1 안에 있는 checkins 테이블
  • System2 안에 있는 Table2 테이블
  • Results창에 나오는 테이블


1.2. Table2 은 checkins으로 부르기로 함


2번. 아래 코드를 실행 했을 때

Select * from checkins c1


2.1. 아래 3개의 테이블 안에 있는 데이터는 모두 같음

  • System1 안에 있는 checkins 테이블
  • System2 안에 있는 Table2 테이블
  • Results창에 나오는 테이블


2.2. Table2 는 c1으로 부르기로 함


3번 아래 코드를 실행 했을 때

SELECT c1.checkin_id FROM checkins c1 


3.1. 아래 2개의 테이블 안에 있는 데이터는 모두 같지만 System1 안에 있는 checkins 테이블에 있는 데이터는 다름

  • System2 안에 있는 Table2 테이블
  • Results창에 나오는 테이블


3.2. Table2 는 c1으로 부르기로 함


4번 아래 코드를 실행 했을 때

select checkin_id, course_id, user_id, likes, 
(select avg(c1.likes) from checkins c1
where c2.course_id = c1.course_id) 
from checkins c2

4.1.

4.1.1. 아래 3가지 안에 있는 데이터는 모두 다름

  • System1 안에 있는 checkins 테이블,
  • System2안에 있는 Table2
  • System3안에 있는 Table3

4.1.2. 아래 2개의 테이블 안에 있는 데이터는 모두 같음

  • System3 안에 있는 Table3 테이블
  • Results창에 나오는 테이블


4.2.

4.2.1. Table2 는 c1으로 부르기로 함

4.2.2. Table3 는 c2으로 부르기로 함









취소
 공유
취소
댓글 0
댓글 알림
나의얼굴