sql join이용 차집합

또또·2024년 1월 27일

항해99 sql

목록 보기
4/6

join이란?

두개의 테이블을 연결하여 데이터를 조회하는 방식
두 테이블의 공통된 정보(key)를 기준으로 조회
사실 inner join이 아닌 다른 left, right사실 outher join
outher가 생략되어 있는것


이 둘을 이용해 차집합을 만들려면 먼저 조인을 하고 반대쪽에 없는것으로 조건을 줘야한다

예제

  1. left join이용 차집합
select * from a
left join b
on a.key = b.key
where b.key is null

2.right join 이용 차집합

select * from a
right join b
on a.key  = b.key
where a.key is null

문제

오랜 기간 보호한 동물(1)


1.문제 풀이
이 문제는 보호소에 입소한 동물들의 데이터가 있는 테이블과 입양간 동물들의 데이터가 있는 테이블이 존재
이중 입양가지 않는 동물 데이터 출력
-> 보호소 테이블에만 있는 데이터 출력
-> 차집합

  1. 순서
  • select 하고 먼저 기본 틀 만들기
  • join ~ on 하기
  • where문으로 차집합 만들어주기
  • order by 와 limit 사용해 출력하기

====================================================================3.풀이

SELECT i.NAME,i.DATETIME
from ANIMAL_INS i
left outer join ANIMAL_OUTS o
ON i.ANIMAL_ID = o.ANIMAL_ID
where o.ANIMAL_ID is null
order by i.DATETIME asc
limit 3
profile
내가 바라던 곳이야 흔들리지 않게 맘을 잡아

0개의 댓글