본문 바로가기
IT

not exists 와 except 생물학 문제

by 결국 그렇고 그런이야기 2021. 10. 18.
반응형

Set Membership

 

 

 

하.... not exists 와 except을 활용한 생물학 문제... 겁나 이해하기가 어려웠다.

일단 이거...Mysql로는 안돌아간다. 

mysql에서는 except가 안 먹는 것 같았고 버그도 핵 많고

postgresql에서는 돌아가길래 넘어왔다.

튤의 문제인제 DBMS문제인지는 모르겠으나... mysql 가능하면 안 다루고 싶어질 정도로 별로임.

 

암튼.,

겁나 난해한 학문을 위한 문제

절대 짜라면 이렇게 못 짤것 같은 문제

 

 

 

일단 이 자료 꿈꾸는 개발자, DBA 커뮤니티에 그대로 있는 자료 같아서 아래와 같이 데이터 넣어보았다.

자자 데이터는 아래와 같이 생성했고 이제 한줄한줄 보겠다.

 

 

 

 

 

( select course_id
    from  course
   where dept_name = 'Biology') //결과값으로 A,B 나온다
 ( select T.course_id
     from takes T
    where S.ID= T.ID) //ID 1번부터 5번까지 돌면서 비교한다.

 

 

id 1번 일때 

(A B) except (A B C)  값이 없다.

not exist (X) --> 1 번은 참으로 나오게 됨.

 

id 2번 일때

(A B) except (A B) 역시 그대로 빼져서 값이 없다.

not exist(안에 값이 없으니 참) ---> 2번도 참으로 나오게 됨.

 

id 3번 일때,

(A B) except (A C) --> B 가 남게 된다.

not exist (B) 거짓이 되고 3은 나오지 않는다.

 

id 4번 일때,

(A B) except ( B C) --> A 가 남게 된다.

역시 not exist안에 값이 있어서 거짓 안나온다.

 

 

 

 

마지막으로 id 5 일때,

(A B) except (A) ---> B 가 남게되어

역시나 not exist안에 값이 있어서 거짓 안나온다.

 

 

 

그래서 최종 결과값은 아래와 같이 나오게 된다. 

아주 신기하게도.

이런거 머리속으로 바로 딱 나와야하는데 이렇게 손이 고생하고 나오는 거 보면 아직 참 멀었다.

 

 

참고한 사이트

http://www.gurubee.net/article/69408

 

not exists 와 except를 이용한 문제

안녕하세요 쿼리를 배우고 있는 초짜중의 초짜입니다 ㅠㅠ.. 공부하다가 도저히 해결되지 않아서 여기에 질문 욜려요. 제가 풀려고 했던 문제는 다음..

www.gurubee.net

 

반응형

댓글