MySQL 5

[MySQL] UNION

UNION -> 테이블의 수직결합UNION or UNION ALL -> 차이? UNION은 중복제거, UNION ALL 생으로 다 합침컬럼 순서가 같고, 그 형식이 같아야 함각 컬럼의 이름은 달라도 상관없음 맨 위 SELECT 절 뒤에 있는 컬럼명으로 통일select 컬럼1, 컬럼2, 컬럼3.. from 테이블명1union (all) #수직결합 명시select 컬럼1, 컬럼2, 컬럼3..from 테이블명2 만약 테이블1에 있는 컬럼이지만, union을 하고 싶다면 그 컬럼의 자리에 NULL을 써주면 됨

MySQL 2025.10.30

[MySQL] 배운 것 정리 - 251023

대문자, 소문자 만들기UPPER([string])LOWER([string])이전 행, 다음 행에 있는 데이터 가져오기LAG([column], [offset], [default]) OVER (ORDER BY [column])LEAD([column], [offset], [default]) OVER (ORDER BY [column]) 구성요소offset(선택) : 기본값은 1로 고정. 현재 행에서 얼마나 이전, 이후의 행을 참조할지 지정. (1: 바로 이전 혹은 이후 행, 2: 두 칸 이전 혹은 이후 행)deafult(선택) : offset만큼 이전 행이 없을 경우 반환할 값. 기본값은 NULL. LAG -> 이전의 행의 데이터를 현재행으로 가져옴LEAD -> 이후의 행의 데이터를 현재행으로 가져옴Having..

MySQL 2025.10.23

[MySQL] 기본문법 및 활용(3) - 251022

Window 함수그룹 내의 연산을 쉽게 하기 위해서 사용하는 함수가령, 한식 식당(그룹) 중에서 주문건수가 많은 순으로 순위를 매기기와 같은 그룹 내의 연산이 필요할 때 사용WINDOW_FUNCTION(argument) OVER (PARTITION BY 그룹 기준 컬럼 ORDER BY 정렬 기준) 예시1) 순위 매기기 -> Rank 함수 이용select cuisine_type, restaurant_name, rank() over (partition by cuisine_type order by order_count desc) rn, order_countfrom(select cuisine_type, restaurant_name, count(1) or..

MySQL 2025.10.22

[MySQL] 기본문법 및 활용(2) - 251021

도메인 추출하기이메일에서 도메인을 추출하는 방법이 뭐가 있을까?MySQL에서는 "SUBSTRING_INDEX"를 사용하면 된다!SUBSTRING_INDEX([column],구분자,index) 예시)SELECT SUBSTRING_INDEX(email, "@", -1) "도메인"FROM customers; 결과값은?이런식으로 출력이 됨 그런데 그러면 .com, .net도 보기 싫으면?SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(email, "@", -1),".",1) "도메인"FROM customers; 이렇게 한 번 더 substring_index를 진행하게 되면 된다.결과값은?조건식으로 서로 다른 계산을 진행하는 경우1)if문 사용 -> 두 가지로 경우가 나뉠 때if([condi..

MySQL 2025.10.21

[MySQL] 기본문법 및 활용(1) - 251020

1. 데이터 추출SELECT * [column]FROM [table] 가장 기본이 되는 문형 : 테이블에서 해당 컬럼을 추출. *의 경우 테이블의 데이터를 모두 추출 2. 조건부 데이터 추출SELECT *FROM [table]WHERE [condition](ex:cuisine_type = "Korean")# In case of ≠, use 기본적인 조건문 WHERE를 사용.!=를 쓰고 싶은 경우 를 씀. +조건의 종류# BETWEENWHERE [table] BETWEEN X AND Y# INWHERE [column] IN ([value], [value])# LIKEWHERE [column] LIKE "A%" BETWEEN 말그대로 X값과 Y값 사이에 해당되는 데이터 출력.IN 뒤에 소괄호에 있는 값에 ..

MySQL 2025.10.20