목표 : SQL SELECT 쿼리 처리 순서를 파악한다. sqlbolt.com/lesson/select_queries_order_of_execution SQLBolt - Learn SQL - SQL Lesson 12: Order of execution of a Query Now that we have an idea of all the parts of a query, we can now talk about how they all fit together in the context of a complete query. Complete SELECT query SELECT DISTINCT column, AGG_FUNC(column_or_expression), … FROM mytable JOIN another_ta..
프로그램: Oracle SQL Developer 기존에 만들었던 TOPIC 테이블을 이용 분해 AUTHOR 테이블 생성 이름 및 테이블 값 입력 시퀀스 생성 SEQ_AUTHOR 생성 AUTHOR 데이터 입력 INSERT INTO author (id, name, profile) VALUES(SEQ_AUTHOR.nextval, 'egoing', 'developer'); INSERT INTO author (id, name, profile) VALUES(SEQ_AUTHOR.nextval, 'duru', 'DBA'); INSERT INTO author (id, name, profile) VALUES(SEQ_AUTHOR.nextval, 'taeho', 'data scientist'); INSERT INTO auth..
테이블은 저마다 장단점이 있다. 읽기 좋은 테이블(쓰기 불편) 쓰기 좋은 테이블(읽기 불편) 결합(JOIN): 쓰기 좋은 테이블을 읽기 좋게 만들 수 있다. (릴레이션 데이터베이스의 최고의 장점) SELECT * FROM topic LEFT JOIN author ON topic.author_id = author.id; -> topic에다가 topic의 author_id랑 author.id가 같은 값을 author의 왼쪽을 붙인다. 정리: 테이블은 장점과 단점이 공존한다. 읽기 좋은 테이블은 쓰기가 불편하고, 쓰기 좋은 테이블은 읽기가 불편하다. 관계형 데이터 베이스는 이 불편함을 해소시켜주는 엄청난 방법인 조립(JOIN)이라는 방법이 있다. 먼저 쓰기 좋은 테이블을 만들어 놓고 내가 필요한 정보가 있을 ..
Relation : 관계형 데이터베이스의 정체성 1. 표라고 하는 형태로 데이터를 다룬다. 2. 표를 필요에 따라 잘게 쪼개고 필요에 따라 쪼개진 표를 결합 가능. 또한 실제 존재하지 않는 표를 관계를 통해 필요한 표로 만들 수 있다. *가정: 실제 데이터베이스의 행은 1억 개. - 기존의 topic에 name과 profile을 추가 문제점: 1. egoing의 profile이 developer에서 programmer로 변경할 경우 ->1억 개의 행을 체크하고 변경하려면 엄청난 시간이 소요 2. taeho, datascientist의 정보를 입력하고 싶지만 title, description, created 정보가 없어서 추가 불가 3. 초록색 egoing과 파란색 egoing은 다른 사람일 경우 구분이 ..
SEQUENCE : 순차적으로 증가하는 칼럼을 쉽게 만들기 위해 사용 값이 중복되지 않게 데이터를 추가해야 할 때 자동으로 빈 값에 데이터를 추가할 수 있도록 도와준다. PRIMARY KEY와 같이 사용되어야 제대로 효과를 볼 수있다. 시퀀스 생성 CREATE SEQUENCE SEQ_TOPIC; -> SEQ_TOP라는 시퀀스를 생성 시퀀스 사용 INSERT INTO topic (id,title,description,created) VALUES (SEQ_TOPIC.NEXTVAL,'ORACLE','ORACLE is...',SYSDATE); -> id의 값으로 SEQ_TOP.NEXVAL을 준다면, 1부터 순차적으로 칼럼에 입력 행을 추가할 때마다 id가 자동으로 1, 2로 생성됨을 확인 시퀀스 확인 SELEC..