SQL/Insights 2

' = NULL ' (X) ' IS NULL ' (O)

개요프로그래머스 에 있는 SQL 문제를 풀다가 어이없는 실수를 하였다. 이 문제를 보고SELECT ANIMAL_ID # 틀린거임FROM ANIMAL_INSWHERE NAME = NULLSELECT ANIMAL_ID # 틀린거임FROM ANIMAL_INSWHERE NAME = "NULL"이런식으로 생각을 하였는데 바로 며칠전에 IS [NOT] NULL 을 배우고도 바로 떠올리지 못한 내가 싫었다.다른 언어에서는 NULL 값을 비교할때 비교연산자 ( = ) 를 사용하는 언어도 있지만 왜 SQL 에선 다르지?? 라는 생각을 하게되었다. SQL 에서의 NULLSQL 에서  NULL  은 "아직 값이 할당되지 않은 상태" 를 나타내기 때문에 일반적인 값과는 다르게 취급된다. NULL 에 대한 이해를..

SQL/Insights 2024.11.12

범위지정 ( BETWEEN vs 비교연산자)

처음 무엇인가 배울때 무지한건 죄가 아니다.그러나 무식한 공부방법과 미루는 습관으로 인해 발전하지 않는 것은 죄가 된다. 그래서 사전캠프중 퀘스트를 완료한 후 TIL 을 쓰다가 새벽감성에 젖어 혼자 이런저런생각을 하다 생긴 의문점을 풀어보려고 한다. 관련내용은 https://code-jong10.tistory.com/5 여기에 있는데 간략하게 요약하자면  SQL문법 공부후 퀘스트 풀이 후 팀원들과 브레인스토밍을 하던 과정에서 특정 값 사이의 데이터를 뽑아내는 쿼리를 짤때 Where A BETWEEN N AND NWHERE N  이렇게 두가지의 답이 나온것 이었다.수식으로 보면 같은 의미라서 동일한 결과값이 도출되야 한다 예상했고 정답을 몰라 팀장님이 실제 DB에 데이터를 넣고 쿼리를 돌려보고싶다고 하자 ..

SQL/Insights 2024.11.06