1. Preview
하나의 테이블에 같은 성격의 컬럼이 들어가는 경우가 있다. 예를 들어, 팀원 구성 테이블이 있을 수 있겠다. 팀 테이블을 팀장, 팀원으로 구성할 경우에, 다른 팀의 팀원으로 속해있지 않은 팀장을 모두 찾는 쿼리를 구성해보고자 한다.
2. Preset
<Member Table>
MEMBER_ID | MEMBER_NAME |
1 | 홍길동 |
2 | 김길동 |
3 | 이길동 |
4 | 박길동 |
5 | 고길동 |
<Team Table>
LEADER_ID | MEMBER_ID |
1 | 2 |
1 | 3 |
4 | 1 |
4 | 3 |
4 | 5 |
3. Query
위의 테이블 구조에서 다른 팀의 팀원으로 일하지 않는 사람을 찾는 쿼리를 작성해보자.
select * from team where team.LEADER_ID not in (select MEMBER_ID from team);
4. Wrap-up
모르는 것을 인지했고, 글을 쓸 때 가장 어려웠던 부분이 글 제목을 작성하는 일이었다. 글 제목을 다른 사람들이 이해할 수 있게 작성을 하려고 하다보니, 자연스럽게 위와 같은 SQL문이 다시 이해되었다. 문제 정의를 확실히 하는 개발자가 될 수 있도록 노력하자..!!
* 사실과 다른 내용이 있거나, 미처 공부하지 못해 빠진 내용이 있을 수 있습니다. 첨언, 조언 등 해주시면 감사히 받겠습니다. *
'Computer Science > 데이터베이스' 카테고리의 다른 글
[Mysql] DB 성능 최적화 - 1. Explain이란? (1) | 2025.01.20 |
---|---|
[Mysql] Upsert란? - 1 (Insert, Update 동시에 하기) (2) | 2024.12.26 |
[MariaDB] 데이터 타입 종류 정리해서 보자! (0) | 2023.07.28 |
Transaction이란? - 1 (정의, 특징-ACID) (0) | 2023.05.02 |