목록SQL (5)
나만의 작은 도서관

유의사항: 해당 글은 MySQL 문법을 기반으로 작성된 글입니다. 다른 SQL과 다른 부분이 있을 수 있습니다. 개요 서브쿼리와 조인을 사용해서 좀 더 다양한 테이블 검색이 가능해졌다. 하지만 복잡한 조건에 맞는 테이블 검색을 하기에는 아직 부족해보인다. 여러 기준에 맞는 집계 데이터를 얻고 싶다면? 그룹별로 집계를 내고 싶다면 어떻게 해야할까? 이번에는 복잡한 조건에 맞는 테이블 검색에 도움이 되는 피봇 테이블, 윈도우 함수, 날짜 함수에 대해 알아보자. 피봇 테이블 피봇 테이블(Pivot table)은 2개 이상의 기준으로 데이터를 집계할 때 보기 쉽게 배열하여 보여주는 것을 의미한다. 피봇 테이블 예시 식당 별, 시간별 주문건수 구하기(15시~21시 사이, 20~21시 기준 내림차순 포함) sele..

유의사항: 해당 글은 MySQL 문법을 기반으로 작성된 글입니다. 다른 SQL과 다른 부분이 있을 수 있습니다. 개요 두 개 이상의 테이블을 이용한 쿼리문 작성 방법에는 두 가지 방법이 있다. 첫번째로는 쿼리에 또다른 쿼리를 중첩하여 사용하는 서브쿼리 (SubQuery) , 두번째로는 서로 다른 테이블들을 합쳐 사용하는 조인(JOIN)이 있다. 오늘은 이 2개, 서브쿼리와 조인에 대해 알아보자. 서브쿼리 서브쿼리(SubQuery)는 SQL문 안에 또다른 SQL문이 중첩된 쿼리를 말한다. 가공한 테이블을 다시 한 번 가공해야 할 때 사용한다. 서브쿼리는 쿼리가 어느 절에 들어가느냐에 따라 종류가 달라지는데, 크게 SELECT 서브쿼리, FROM 서브쿼리, WHERE 서브쿼리로 분류한다. 서브쿼리의 종류 명..
유의사항: 해당 글은 MySQL 문법을 기반으로 작성된 글입니다. 다른 SQL과 다른 부분이 있을 수 있습니다. 개요 하나의 테이블에서 여러 양식으로 결과를 출력하려면 어떻게 해야할까? 매번 양식에 맞도록 테이블 데이터를 바꾼다면 다소 부담스러운 작업 시간이 발생한다. 그렇기 때문에 테이블에 있는 데이터를 바꾸는 게 아닌, 지정된 양식으로 변환한 데이터를 출력하는 것이 적절해 보인다. 이번에는 입력된 데이터를 조건에 따라 값을 바꾸는 기능을 가진 조건문과 문자열 함수들을 알아보자. 조건문 조건문은 입력된 데이터를 조건에 따라 값을 바꾸는 기능을 가진다. SQL에서의 조건문은 많은 프로그래밍 언어에서 그렇듯, IF문과 CASE문이 있다. IF문 SQL에서 IF문은 true와 false의 결과 값을 입력값으..
유의사항: 해당 글은 MySQL 문법을 기반으로 작성된 글입니다. 다른 SQL과 다른 부분이 있을 수 있습니다. 개요데이터 각각의 정보가 아닌, 총 합, 평균, 개수 등 그룹에 대한 정보를 얻고 싶을 때가 있다. 이때 사용하는 함수를 집계함수라고 부르며 GROUP BY절과 함께 사용한다. 또한, 특정 컬럼을 기준으로 정렬하는 ORDER BY를 알아보자.그룹화하기(GROUP BY절)그룹화하고자 하는 컬럼을 GROUP BY절에 적는다.그룹화를 하게되면 해당 컬럼의 데이터 값이 같은 행들이 하나의 행으로 묶인다. (아래 예시: 컬럼 1을 기준으로 그룹화)SELECT *FROM 테이블GROUP BY 컬럼1 만약 하나가 아닌 여러 컬럼들을 기준으로 그룹화하고 싶다면 GROUP BY절에 컬럼을 추가한다. (아래 예..
유의사항: 해당 글은 MySQL 문법을 기반으로 작성된 글입니다. 다른 SQL과 다른 부분이 있을 수 있습니다. 개요 쿼리(Query)는 '질의'라는 뜻을 가진 단어이며, DB에서는 "DB에 데이터를 요청을 하는 질의"를 의미한다. 일반적으로 쿼리는 SQL을 이용하여 작성하는데 SQL에서 SELECT절로 시작하는 문장을 쿼리라 부른다. 그럼 쿼리를 어떻게 사용하는지 간단히 알아보자. 데이터 검색하기(SELECT절) 가장 기본적인 구조이다. "테이블"이라는 이름의 테이블에서 모든 컬럼(*은 모든 컬럼을 의미)을 가져오는 방법이다. SELECT * FROM 테이블 만약, 모든 컬럼이 아닌 필요한 컬럼만 가져오고 싶을 때는 * 대신 필요한 컬럼의 이름을 적는다. SELECT 컬럼1, 컬럼2, .... FROM..