[TIL 2021.08.23] 데이터베이스 개론

Kyu·2021년 8월 23일
0

TIL

목록 보기
225/322

테이블을 여러개 연결해서 검색하는 것을 조인 검색이라고 한다.

조인 검색 시에 각 테이블에 있는 속성의 이름은 달라도 되지만 도메인은 반드시 같아야 한다.

일반적으로 테이블의 관계를 나타내는 외래키를 조인 속성으로 이용한다.

SELECT 제품.제품명
FROM 제품, 주문
WHERE 주문.주문고객 = 'banana' AND 제품.제품번호 = 주문.주문제품;

이런식으로 조인 검색이라고 JOIN 을 꼭 사용하는 게 아니라 위처럼 검색하면 됨

사용 편의를 위해 FROM에 들어오는 테이블에 닉네임을 붙일 수도 있다.

SELECT c.제품명
FROM 제품 c, 주문 o
WHERE o.주문고객 = 'banana' AND c.제품번호 = o.주문제품;

처음부터 읽었을 때 FROM에서 닉네임을 지어주기전에 SELECT에서도 닉네임을 사용해서 의아할 수도 있는데, SQL은 비절차 언어이기 때문이다.

서브 쿼리 (부속 질의)

SELECT 안에 SELECT를 사용할 수 있는데, 이것을 서브 쿼리라고 함.

서브 쿼리는 그 위에 있는 메인 쿼리보다 먼저 실행 됨.

다중 행 서브 쿼리에 사용 가능한 연산자가 있음.
예시) SELECT 제품명, 제조업체 FROM 제품 WHERE 제품번호 NOT IN (SELECT 주문제품 FROM 주문 WHERE 주문고객 = 'banana');

연산자설명
IN서브 쿼리의 결과값 중 일치하는 것이 있으면 검색 조건이 참
NOT IN서브 쿼리의 결과값 중 일치하는 것이 없으면 검색 조건이 참
EXISTS서브 쿼리의 결과 값이 하나라도 존재하면 검색 조건이 참
NOT EXISTS
ALL
ANY 또는 SOME
profile
TIL 남기는 공간입니다

0개의 댓글