* Exam08_01 ~ 04 (전체코드는 아래 git 링크 참고) https://github.com/eomcs/eomcs-docs/tree/master/sql * Join * 조인 => 서로 관련된 테이블의 데이터를 연결하여 추출하는 방법 => 기법 1) CROSS 조인(=Cartesian product) -- 1) CROSS 조인(=Cartesian product) - 두 테이블의 데이터를 1:1로 모두 연결한다. select b.bno, title, content, fno, filepath, a.bno from board1 as b cross join attach_file1 as a; 2) NATURAL 조인 -- board3의 no와 attach_file3의 no는 PK/FK 관계가 아니다. --..
* union 과 union all / 차집합과 교집합 /* union 과 union all */ /* select 결과 합치기 union : 중복 값 자동 제거*/ select distinct bank from stnt union select distinct bank from tcher; /* union all: 중복 값 제거 안함*/ select distinct bank from stnt union all select distinct bank from tcher; /* 차집합 mysql 은 차집합 문법을 지원하지 않는다. 따라서 다음과 기존의 SQL 문법을 사용해서 처리해야 한다. */ select distinct bank from stnt where not bank in (select distinc..
* Foreign key 등장배경 ? 정보의 중복 저장 방지 ! 작성자 정보가 중복해서 저장되면 ① 메모리 낭비 문제와 ② 작성자 정보 변경 시 결함 문제가 발생할 수 있다. 작성자 테이블 생성: 작성자 정보를 저장하기 위한 별도의 테이블을 생성 이 테이블은 작성자 번호와 작성자 이름, 작성자 메일, 작성자 사진 정보를 저장 다른 테이블에서 작성자 번호 사용: 다른 테이블에서 작성자 정보를 저장할 때, 작성자 번호를 참조하여 작성자 테이블과 연결. 예를 들어, "게시글" 테이블에서 작성자 정보를 저장하는 경우, 작성자 번호를 Foreign key로 사용하여 작성자 테이블과 관련시킨다. 작성자 정보 중복 제거: 작성자 정보 중복을 제거하고 작성자 테이블에서 각 작성자의 정보를 유일하게 관리 작성자 이름, ..