반응형

분류 전체보기 51

[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

프로그래머스 두 큐 합 같게 만들기 파이썬(python)

문제 길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출(pop)하고, 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해 각 큐의 원소 합이 같도록 만들려고 합니다. 이때 필요한 작업의 최소 횟수를 구하고자 합니다. 한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주합니다. 큐는 먼저 집어넣은 원소가 먼저 나오는 구조입니다. 이 문제에서는 큐를 배열로 표현하며, 원소가 배열 앞쪽에 있을수록 먼저 집어넣은 원소임을 의미합니다. 즉, pop을 하면 배열의 첫 번째 원소가 추출되며, insert를 하면 배열의 끝에 원소가 추가됩니다. 예를 들어 큐 [1, 2, 3, 4]가 주어졌을 때, pop을 하면 맨 앞에 있는 원소 1이 추출되어 [2, 3, 4]가..

프로그래머스 상품을 구매한 회원 비율 구하기 SQL(MySQL)

문제 다음은 어느 의류 쇼핑몰에 가입한 회원 정보를 담은 USER_INFO 테이블과 온라인 상품 판매 정보를 담은 ONLINE_SALE 테이블입니다. USER_INFO 테이블은 아래와 같은 구조로 되어있으며 USER_ID, GENDER, AGE, JOINED는 각각 회원 ID, 성별, 나이, 가입일을 나타냅니다. USER_ID INTEGER FALSE GENDER TINYINT(1) TRUE AGE INTEGER TRUE JOINED DATE FALSE GENDER 컬럼은 비어있거나 0 또는 1의 값을 가지며 0인 경우 남자를, 1인 경우는 여자를 나타냅니다. ONLINE_SALE 테이블은 아래와 같은 구조로 되어있으며 ONLINE_SALE_ID, USER_ID, PRODUCT_ID, SALES_AMOU..

PS/SQL 2023.05.05

백준 16936 나3곱2 파이썬(python)

문제 나3곱2 게임은 정수 하나를 이용한다. 가장 먼저, 정수 x로 시작하고, 연산을 N-1번 적용한다. 적용할 수 있는 연산은 두 가지 있고, 아래와 같다. 나3: x를 3으로 나눈다. x는 3으로 나누어 떨어져야 한다. 곱2: x에 2를 곱한다. 나3곱2 게임을 진행하면서, 만든 수를 모두 기록하면 수열 A를 만들 수 있다. 예를 들어, x = 9, N = 6이고, 적용한 연산이 곱2, 곱2, 나3, 곱2, 나3인 경우에 A = [9, 18, 36, 12, 24, 8] 이다. 수열 A의 순서를 섞은 수열 B가 주어졌을 때, 수열 A를 구해보자. 입력 첫째 줄에 수열의 크기 N(2 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 수열 B가 주어진다. B에 포함된 원소는 1018 보다 작거나 같은 자연수이다..

PS/백준 2023.05.05

프로그래머스 보석 쇼핑 파이썬(python)

문제 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 개발자 출신으로 세계 최고의 갑부가 된 어피치는 스트레스를 받을 때면 이를 풀기 위해 오프라인 매장에 쇼핑을 하러 가곤 합니다. 어피치는 쇼핑을 할 때면 매장 진열대의 특정 범위의 물건들을 모두 싹쓸이 구매하는 습관이 있습니다. 어느 날 스트레스를 풀기 위해 보석 매장에 쇼핑을 하러 간 어피치는 이전처럼 진열대의 특정 범위의 보석을 모두 구매하되 특별히 아래 목적을 달성하고 싶었습니다. 진열된 모든 종류의 보석을 적어도 1개 이상 포함하는 가장 짧은 구간을 찾아서 구매 예를 들어 아래 진열대는 4종류의 보석(RUBY, DIA, EMERALD, SAPPHIRE) 8개가 진열된 예시입니다. 진열대 번호 1 2 3 4 5 6 7 8 보석..

프로그래머스 가격대 별 상품 개수 구하기 SQL(MySQL)

문제 다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 정보를 담은 PRODUCT 테이블입니다. PRODUCT 테이블은 아래와 같은 구조로 되어있으며, PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다. Column nameTypeNullable PRODUCT_ID INTEGER FALSE PRODUCT_CODE VARCHAR(8) FALSE PRICE INTEGER FALSE 상품 별로 중복되지 않는 8자리 상품코드 값을 가지며 앞 2자리는 카테고리 코드를 나타냅니다. PRODUCT 테이블에서 만원 단위의 가격대 별로 상품 개수를 출력하는 SQL 문을 작성해주세요. 이때 컬럼명은 각각 컬럼명은 PRICE_GROUP, PRODUCTS로 지정해주시고 가..

PS/SQL 2023.05.04

프로그래머스 카테고리 별 상품 개수 구하기 SQL(MySQL)

문제 다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 정보를 담은 PRODUCT 테이블입니다. PRODUCT 테이블은 아래와 같은 구조로 되어있으며, PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다. PRODUCT_ID INTEGER FALSE PRODUCT_CODE VARCHAR(8) FALSE PRICE INTEGER FALSE 상품 별로 중복되지 않는 8자리 상품코드 값을 가지며, 앞 2자리는 카테고리 코드를 의미합니다. PRODUCT 테이블에서 상품 카테고리 코드(PRODUCT_CODE 앞 2자리) 별 상품 개수를 출력하는 SQL문을 작성해주세요. 결과는 상품 카테고리 코드를 기준으로 오름차순 정렬해주세요. 개념 공부하기 GROUP BY, ..

PS/SQL 2023.05.04

프로그래머스 네트워크 파이썬(python)

문제 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한 사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[i]..

반응형