반응형

Devleop/MySQL 4

[MySQL] JOIN : 테이블 합치기 (INNER, LEFT, RIGHT, FULL OUTER)

JOIN 이란? SQL 이용하여 두 개의 테이블을 연결해 데이터 조회하는 것을 JOIN이라고 한다. 두 테이블 연결 작업이므로 이를 위한 연결고리가 필요하다. JOIN 칼럼은 두 테이블에서 같은 값을 가진 칼럼을 의미한다. JOIN의 특징을 간단하게 살펴보고 넘어가려고 한다. JOIN 테이블은 서로 값은 값을 가진 칼럼이 존재해야 한다. 2개 이상의 테이블 JOIN 가능하다. JOIN 할 때 테이블에 대한 별칭을 사용한다. JOIN 시 조건이 필요하다 JOIN의 종류 막상 사진만 보면 이해하기 어려워 보일 수 있다. 하지만 학창 시절에 배운 집합을 떠올리면 이해하는데 도움이 될 것 같다. 하나씩 살펴보면서 이해해보려고 한다. INNER JOIN A 테이블과 B 테이블의 교집합을 생각하면 된다. 기본적인 ..

Devleop/MySQL 2023.05.06

[MySQL] 원하는 문자열 부분 가져오기 (LEFT, MID, RIGHT)

MySQL 사용하면서 원하는 문자열만 가져오고 싶은 경우가 생길 것이고 대표적으로 3가지를 볼 수 있다. LEFT 왼쪽에서부터 자르기 RIGHT 오른쪽에서부터 자르기 MID 가운데에서 특정 구간 자르기 SUBSTR, SUBSTRING도 존재하는데, MID랑 같은 기능으로 한다고 보면 된다. LEFT SELECT LEFT(컬럼, 가져올 개수) FROM TABLE ; 컬럼, 어떤 행의 값이 ABCDEF 라는 단어가 존재할 때 LEFT(컬럼, 3) 은 ABC를 추출하게 된다. RIGHT SELECT RIGHT(컬럼, 가져올 개수) FROM TABLE ; 컬럼, 어떤 행의 값이 ABCDEF 라는 단어가 존재할 때 RIGHT(컬럼, 3) 은 DEF를 추출하게 된다. MID, SUBSTR, SUBSTRING SEL..

Devleop/MySQL 2023.05.06

[MySQL] GROUP : 데이터 그룹화, 집계 함수 (HAVING, COUNT, SUM, MAX, MIN, AVG)

GROUP 쿼리 문을 작성할 때 데이터를 그룹화 하기 위해선 꼭 사용해야 하는 개념이다. 데이터를 집계하는 것은 DB에서 상당히 중요하게 다뤄진다. 그렇다면 왜 우리는 그룹화를 하는 것인가? 라고 물으면 집계 함수 계산과 데이터 분석이라고 답할수 있을 거 같다. 우선 전자로 집계 함수에 관해 먼저 살펴보자. COUNT 행의 개수 세기 SUM 행의 값들의 합 MAX 행의 값 최댓값 MIN 행의 값 최솟값 AVG 행의 값들 평균 데이터 분석은 통계적 특징을 분석을 의마할 수 있다. 예를 들어, 온라인 쇼핑몰에서 상품 구매 기록을 분석할 때, 구매자 별로 구매 횟수, 구매 금액 등을 구하여 분석할 수 있다. GROUP BY 구문을 사용할 때는 다음과 같은 형태를 가진다. 아래 구문에서 GROUP BY에 사용한..

Devleop/MySQL 2023.05.06

[MySQL] CASE 문 : 조건에 따라 값 정하기 (CASE WHEN THEN END)

CASE WHEN THEN ELSE END SQL 문제를 풀다 보면 CASE에 따라 조건을 나눠서 출력하라는 것을 종종 볼 수 있다. 그럴 경우 사용해주면 유용하다. 우선 기본적인 형태부터 보고 가자. SELECT CASE WHEN(조건A) THEN A WHEN(조건B) THEN B ELSE C END AS 원하는 컬럼명 FROM TABLE ; 조건 A 를 만족할 땐 A라 출력하고, B를 만족하면 B 그 외에는 다 C라고 출력하는 간단한 sql 쿼리이다. 실제 예시를 통해 자세히 알아보자. select * from FILM; 위 쿼리를 실행하면 결과 값은 아래와 같다. 하늘색으로 네모 박스 친 부분을 보면 LENGTH가 영화 길이를 나타내는 것 같다. 영화 길이에 따라 값을 한번 저장해보려고 한다. LE..

Devleop/MySQL 2023.05.06
반응형