본문 바로가기

Development/SQL

(4)
Development/SQL 서브 쿼리와 WITH, SUBSTRING, 조건문(CASE) 들어가며 4주차에서는 Sub Query와 실전에서 유용한 SQL 문법에 대해서 공부하였는데, 약 2일 정도 손에 익을 때까지 계속 연습한 후에 개발일지로 정리하였다. Sub Query 서브 쿼리는 말 그대로 보조역할을 하는 쿼리로, 정확히는 쿼리 안에 있는 하위 쿼리라는 의미이다. 이는 하위 쿼리의 결과를 상위 쿼리에서 활용하기 위해 사용되며, WHERE, SELECT, FROM에서 사용된다. WHERE에서의 서브 쿼리 서브 쿼리는WHERE ~ IN ()을 통해 WHERE절에서 사용할 수 있다. WHERE ~ IN ()이 무엇인지 알기 위해 간단한 예를 들어보도록 하자. 먼저, WHRER절로 users 테이블에서 특정 아이디에 해당하는 정보만 불러오면 다음과 같다. SELECT * FROM users W..
Development/SQL 테이블 간 결합(INNER JOIN, LEFT JOIN)과 결과 조합(Union) 들어가며 JOIN이란 공통된 필드를 갖고 있는 여러 테이블을 하나의 테이블처럼 보이도록 연결하는 것이다. 이는 엑셀에서 VLOOKUP 함수와 같은 개념이라고 할 수 있다. JOIN의 종류에는 INNER JOIN, LEFT JOIN, OUTER JOIN이 있는데, 강의에서는 INNER JOIN과 LEFT JOIN에 대해서만 다루었다(OUTER JOIN은 실제로 잘 사용하지 않는다고 한다). INNER JOIN INNER JOIN은 기준이 되는 필드에 데이가 없으면 아예 해당 행 자체를 보여주지 않는다. 즉, 서로 다른 테이블 간의 교집합으로 테이블을 결합하며, 가장 일반적으로 사용되는 방식이다. 예를 들어, users 테이블과 point_users 테이블을 INNER JOIN으로 결합하는 쿼리문은 다음과 ..
Development/SQL 통계 값을 구할 때의 기준(GROUP BY)과 정렬(ORDER BY) 들어가며 매일 8강의씩 들을 수 있기 때문인지 교육 2일차에 벌써 2주차 수업에 접어들었다(강의 영상은 평균 10분 이내로 짧지만, 퀴즈와 과제를 해결하다보면 몇 시간으로도 부족하게 느껴진다). 1주차 강의에서는 원하는 데이터를 날것 그대로 가져오는 쿼리문을 다뤄보았다면, 2주차에서는 데이터를 그룹화해서 통계를 구하는 쿼리문을 다루었다. 데이터 통계 넓은 범위에서 데이터 통계는 굉장히 복잡하고 어렵게 느껴질 수 있지만, 좁은 범위에서의 통계는 최댓값, 최솟값, 평균, 합계 정도를 구하는 것으로 매우 쉽고 간단하다. 쿼리문 작성 요령 스파르타코딩클럽에서 쿼리문을 작성할 때 한 가지 요령을 알려주었는데, 그건 바로 쿼리문 작성 순서이다. 개인적으로는 쿼리문이 복잡할수록이 요령을 떠올려보며 차근차근 쿼리문을 ..
Development/SQL DB와 조건(WHERE)에 따른 데이터 조회(SELECT) 들어가며 응용 프로그램을 개발하면서 이것저것 검색해가며 SQLite, MySQL을 써보았지만, 다시 기초를 다잡고 가자는 마음에 스파르타코딩클럽 내일배움단을 통해 SQL을 공부하고자 하였다. 이 교육과정에서는 CRUD(Create, Read, Update, Delete) 중에서 READ만 다루고 있다. 처음에는 이 부분이 아쉽게 느껴졌으나, 1주차 강의를 듣고나서는 READ만 제대로 알아도 데이터 가공과 다양한 응용을 하는데 충분하다고 느꼈다. 데이터베이스 대부분 직장에서 가장 기본적으로 사용하는 데이터 관리용 문서는 엑셀이라고 생각한다. 엑셀 필터, 함수 등 다양한 기능을 활용하여 데이터를 보기 쉬운 표로 관리할 수 있으나, 데이터가 많아질수록 처리 속도가 늦어지거나, 동시작업이 불가능하다는 한계가 있..