와, 좋은 것 배워갑니다. 다중행 서브쿼리는 IN만 알고 있었는데... 선생님, 혹시 다른 행과의 비교를 하는 SQL문 작성도 가능한가요? 예를 들어 아래와 같은 테이블이 있을 때 업체 지점 개점시간 폐점시간 이마트 용산 10:0022:00 이마트 은평 22:00 이마트 청계천 10:0022:00 이마트 수색 10:0022:00 롯데마트 서울역 10:0024:00 롯데마트 고양 10:0023:00 롯데마트 서초 10:0024:00 홈플러스 월드컵 10:0023:00 홈플러스 강서 10:0023:00 홈플러스 합정 10:0023:00 홈플러스 가양 10:0023:00 홈플러스 목동 10:0023:00 업체의 모든 지점의 개점시간과 폐점시간에 지점 간 NULL 아닌 값이 하나라도 일치하지 않는 것이 존재하는 업체를 찾아 그 업체의 모든 행을 표시하는 게 목적입니다. 위 테이블의 경우 롯데마트 고양과 서울역·서초가, 폐점시간이 NULL이 아니면서 서로 다른 값이 존재하므로 업체 지점 개점시간 폐점시간 롯데마트 서울역 10:0024:00 롯데마트 고양 10:0023:00 롯데마트 서초 10:0024:00 조회 결과가 이렇게 나오는 것이고요.
한번에 이해가 됬습니다. 감사합니다.
와, 좋은 것 배워갑니다.
다중행 서브쿼리는 IN만 알고 있었는데...
선생님, 혹시 다른 행과의 비교를 하는 SQL문 작성도 가능한가요?
예를 들어 아래와 같은 테이블이 있을 때
업체 지점 개점시간 폐점시간
이마트 용산 10:00 22:00
이마트 은평 22:00
이마트 청계천 10:00 22:00
이마트 수색 10:00 22:00
롯데마트 서울역 10:00 24:00
롯데마트 고양 10:00 23:00
롯데마트 서초 10:00 24:00
홈플러스 월드컵 10:00 23:00
홈플러스 강서 10:00 23:00
홈플러스 합정 10:00 23:00
홈플러스 가양 10:00 23:00
홈플러스 목동 10:00 23:00
업체의 모든 지점의 개점시간과 폐점시간에 지점 간 NULL 아닌 값이 하나라도 일치하지 않는 것이 존재하는 업체를 찾아
그 업체의 모든 행을 표시하는 게 목적입니다.
위 테이블의 경우
롯데마트 고양과 서울역·서초가, 폐점시간이 NULL이 아니면서 서로 다른 값이 존재하므로
업체 지점 개점시간 폐점시간
롯데마트 서울역 10:00 24:00
롯데마트 고양 10:00 23:00
롯데마트 서초 10:00 24:00
조회 결과가 이렇게 나오는 것이고요.
감사합니다~ 😊
수강해주셔서 감사합니다. ^^
ANY는 어느 값이던 하나만 참이면 나오기 때문에 최솟값
ALL은 모두 만족하는 값이어야 나오기 때문에 최댓값
의 조건을 보고 조회 된다고 봐도 될까요..?
안녕하세요~~~
숫자의 경우는 그렇게 볼 수도 있습니다.
감사합니다. ^^
ANY는 안쪽 셀렉트문에서 만들어진 셋을 OR연산하고, ALL은 AND연산하는 것과 같다고 이해하면 될까요.?
안녕하세요~~~
어떻게 보면 그렇게 볼 수도 있겠네요~~^^
둘중 하나만, 아니면 모두다 이렇게니깐요~~
감사합니다.