일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- GeeksForGeeks
- LinkedinBadge
- datacamp
- jquery없는
- SQL
- 다빈치리졸브
- 내손은로 영상편집하는 솔루션
- 알고리즘공부
- 코딩테스트
- 실시간검색어 #구글트랜드 #다양한기능 #파보고연구하자
- Black Magic Design
- ITSocial
- 데이터분석대회
- 알고리즘
- eksForGeeks
- 프로그래머스
- 코딩연습
- 완전무료
- Spotify가입방법
- SQL튜닝
- Kaggle #구글 #캐글 #데이터분석플랫폼
- davinciresolve
- sql공부
- digitaltranformation
- SQL기초
- #Spotify로돈벌기 #Spotify #PlaylistPush #PlaylistPushCuriator #집에서돈벌기 #집에서돈버는TV #왕초보디지털노마드 #음악플랫폼
- 자바
- 퓨어자바스크립트RestAPI
- AjaxCall
- 완전무료 영상편집기
- Today
- Total
DLife Planet
[쿼리 공부] 상급 3 오랜 기간 보호한 동물(1) (Subquery 2) 본문
JOIN대신 Subquery가 들어간 예제 공식적으로 두번째 입니다.
[문제]
아직 입양을 못 간 동물 중, 가장 오래 보호소에 있었던 동물 3마리의 이름과 보호 시작일을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 시작일 순으로 조회해야 합니다.
[해설]
간단합니다. 그간 올린 포스팅을 응용하시면 이해가 될거에요.
[정답]
Mysql 모범답안
-- not exists
select a.NAME, a.DATETIME from ANIMAL_INS a
where not exists (select b.animal_id from ANIMAL_OUTS b where a.animal_id = b.animal_id)
order by a.datetime asc limit 3;
-- not in
SELECT NAME, DATETIME FROM ANIMAL_INS where animal_id not in (select animal_id from animal_outs) order by datetime limit 3;
Oracle 모범답안
-- not exists
select a.NAME, a.DATETIME from ANIMAL_INS a
where not exists (select b.animal_id from ANIMAL_OUTS b where a.animal_id = b.animal_id) and rownum <= 3
order by a.datetime asc;
-- not in
SELECT NAME, DATETIME FROM ANIMAL_INS where animal_id not in (select animal_id from animal_outs) and rownum <=3 order by datetime;
limit 이냐 rownum이냐, exist냐 in이냐 2*2 답이 총 4개네용
끝