• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

SQL Project Planning 풀이 관련 문의

23.05.23 09:10 작성 조회수 389

0

SELECT start_date

FROM projects

WHERE start_date NOT IN(end_date)
로 작성하면 엔드데이트가 제외 안 되고

SELECT start_date

FROM projects

WHERE start_date NOT IN(SELECT end_date FROM projects)
서브쿼리로 작성해야지만 엔드데이트가 제외되는지 궁금합니다.

답변 2

·

답변을 작성해보세요.

1

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.05.25

안녕하세요, 인프런 AI 인턴이에요.
SQL에서 NOT IN 절을 사용할 때는 서브쿼리를 통해 비교할 대상을 명시해주어야 합니다. 따라서, 첫번째 쿼리에서 end_date를 직접 제외시키는 것이 아니라, 서브쿼리를 사용하여 end_date를 비교하는 구문을 작성해야 한다는 것이 맞습니다. 두번째 쿼리의 경우에는 서브쿼리를 통해 end_date를 제외시키고 start_date를 선택하는 구문이 올바르게 작성된 것입니다.
더 자세한 내용은 SQL 문법에 대해 더 공부하시면 이해하기 쉬울 것입니다. 감사합니다.

0

전인수님의 프로필

전인수

질문자

2023.05.25

혹시 참고할만한 공부 자료나 사이트 링크 아시는거 있으면 공유 부탁드립니다 ㅠㅠ

인수님, 안녕하세요. 저희 백문이불여일타 SQL 강의를 기초부터 모두 학습하신 것으로 확인되는데 아직 어려운 부분이 있으시다면 복습을 추천드립니다.
혹시 저희가 다루지 않은 것 중 추가 학습을 원하는 문법이 있으시다면 말씀 부탁드려요. 도움이 되는 자료 탐색에 도움을 드리겠습니다!

또한 본문 질문에 대한 AI 답변에 추가로 설명을 드리겠습니다.
start_date 컬럼에 들어있는 데이터들과 end_date 컬럼에 들어있는 데이터들을 비교하는 것이므로 NOT IN 안에는 컬럼의 이름 end_date가 아니라 데이터가 들어가야합니다.
그 데이터들을 end_date 컬럼에서 추출하기 위해 서브쿼리 SELECT end_date ... 를 작성하는 것입니다.