본문 바로가기
SQL

[MYSQL] 개인적으로 헷갈린 부분들 정리집

by 포 키 2023. 10. 12.
728x90

 

 

MYSQL 수업을 들으면서 교재의 내용에서 더 좋은 코드라거나, 변경가능한 코드 부분에 대한 설명을 잘 해주셔서 얻어가는 부분이 많았다고 느꼈다.

수업을 들으면서 느낀게 내가 몸으로 하는 건 습득력이 빠른편인데 머리로 하는건 습득력이 정말 느린편이다.

그래서 오늘 MYSQL 수업이 마무리되면서, 어떤 부분들이 헷갈렸는지 몽땅 모아서 정리해보려 한다.

 

일단 내가 느끼기엔 SQL이 어려운 프로그래밍은 아닌것 같다.

맨 처음 파이썬 pandas 들어갈 땐 똑같이 처음보는 부분이어도 정말 멘붕오고 저건 뭐지 이러고 있었는데,

SQL의 경우에는 코드 자체가 그렇게 많은게 아니라서 초보자가 배우기엔 좋은 것 같다.

그치만 파이썬처럼 어렵게 느껴지는 부분은 서브쿼리 활용이다.

지금의 내가 SQL을 이해하는 수준은 아직 서브쿼리 활용이 많이 서툴고, 코드를 보면 이해하고 해석할 수 있는 수준이다.

이것도 계속 공부해나가면서 구문들을 쉽게 구사할 수 있는 능력을 키워야 할 것 같고, 모든 것이 끝난 12월에 취업을 알아보며 해볼 생각이다.

그전까지는 자격증과 프로젝트에 전념해볼 생각이다.

서론이 길었는데 이제 시작해보자

 

 

DISTINCT

개인적으로 이 구문은 볼 때 마다 이게 뭐였지.. 하고 까먹었다.

사용하기 어려운 코드는 아니었다.

DISTINCT는 중복값을 제외시켜주는 코드이다. 까먹지 말자!

 

내림차순 정렬

정렬을 하기 위해 ORDER BY를 사용해야 하는 것은 알았는데,

내림차순을 위해 DESC를 사용해야한다는 것은 기억에 박히지 않았었다.

오름차순을 위해서는 ASC를 붙여도 된다는데 기본적으로 정렬하고자하면 오름차순으로 되기 때문에 굳이 사용하지는 않는 것 같다.

 

GROUP BY

그룹바이 코드를 사용하는 방법은 헷갈리지 않았다.

컬럼명을 작성하거나 몇번째 컬럼인지를 지정해주면 된다.

그러면 이 부분을 왜 추가했냐? 나는 그룹바이를 언제 사용하는건지가 헷갈렸다.

오늘 오전에 진행된 코드 중에 교재를 보지 않고 해보는 시간을 주셔서 나는 그룹바이를 사용하지 않고 했었는데,

교재에 보니까 그룹바이를 사용했었고, 두개를 비교해봤더니 결과물의 차이가 없었다.

그래서 이 부분에 대한 질문을 했는데 답변을 듣고 아 내가 개념을 또 까먹고 있었구나 하고 깨달았다.

그룹바이를 사용하는 목적은 집계함수와 함께 데이터를 정리하고 통계정보를 구축하는 것이다.

한마디로 집계함수를 SELECT 구문에 사용했으면 FROM 구문이 끝나고 GROUP BY 를 작성해주면 된다.

 

집계 함수 / 사용자 지정 함수 활용

SELECT 구문에서 집계 함수나 사용자 지정 함수를 사용하고 컬럼명을 새로 지정해주는 것까지 많이 사용된다.

그리고 위의 과정에서 지정된 컬럼명을 WHERE 구문으로 조건을 달기 위해서는 서브쿼리를 활용해야 가능하다.

나는 왜 그렇게 하는건지 이유를 제대로 파악하지 못하고 있었다.

SQL에서 WHERE 절을 먼저 처리하기 때문에 논리적인 처리 순서가 맞지 않아서 발생하는 이슈이다.

그리고 가독성을 높이기 위함이기도 하다.

가장 중요한 이유는 논리적인 처리 순서때문인 것을 잊지 말자!

 

 

여기까지 내가 헷갈린 부분들만 따로 뽑아서 다시 한번 정리를 해봤다.

다시 헷갈린다거나 잊어버리는 일이 없는 것이 가장 좋지만, 틈틈히 이 내용들을 다시 보러 올 것 같다.

728x90