본문 바로가기

Database/SQL

(2)
서브 쿼리 (Sub Query) 정리 서브 쿼리 필요성JOIN 만으로는 한번에 답하기 어려운, 여러 단계의 사고를 거쳐야 하는 문제가 있다.예를들어, "우리 쇼핑몰에서 판매하는 상품들의 평균 가격보다 비싼 상품은 무엇이 있을까?"이다. 이럴때 2번에 걸쳐서 쿼리를 실행시킬수있다.문제 분할1단계: 상품의 평균 가격 구하기SELECT AVG(price) FROM products;2단계: 평균보다 비싼 상품 구하기SELECT name, priceFROM productsWHERE price > 167166.67; -- 계산한 평균 가격 구하기쿼리 2번 실행 (java)// 1번 쿼리 실행String sql1 = "SELECT AVG(price) FROM products";double avgPrice = stmt.executeQuery(sql1) ..
조인(JOIN) 정리 무결성 제약 조건기본 키(Primary Key)기본키는 여러 후보키(유일하게 식별 가능한) 중에서 단 하나로 선정해서 사용한다. 즉, PK는 테이블 내에서 절대로 중복될 수 없다. 그리고 여기서 단 하나란 속성의 집합인 복합키(Composite Key)도 가능하다. (ex 고객번호, 도서번호)외래키 (Foreign Key)외래키(FK)는 다른 테이블에서 기본키(PK)를 참조하는 속성이다. 이렇게 다른 테이블의 기본키(PK)를 참조해서 관계를 표현한다.데이터의 일관성을 유지하기위해서 테이블에서 PK 값이 변경되면 이 기본키를 참조하는 FK도 변경되어야한다.즉, FK는 PK를 참조하고 PK는 FK를 참조하지 않으므로, PK와 달리 FK의 중복값이나 NULL을 허용한다. 그리고 FK는 자기 자신의 PK값도 참..