본문 바로가기

Tech

[프로그래머스] Summer/Winter Coding(2019) - 우유와 요거트가 담긴 장바구니 (MySQL) 코딩테스트 연습 - 우유와 요거트가 담긴 장바구니 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가 programmers.co.kr 문제 설명 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가격을 나타냅니다. NAME TYPE ID INT CART_ID INT NAME VARCHAR PRICE INT 데이터 분석 팀에서는..
[프로그래머스] SQL 고득점 Kit - String, Date 프로그래머스에서 제공하는 SQL 고득점 Kit 문제 풀이 코드입니다. (정답 주의) 문제 링크 https://programmers.co.kr/learn/courses/30/parts/17047 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 루시와 엘라 찾기 (level 2) WHERE - IN을 이용하면 해당 데이터를 ()안에 있는 값들에 포함되어 있는지를 찾는다. SELECT ANIMAL_ID, NAME, SEX_UPON_INTAKE FROM ANIMAL_INS WHERE NAME IN ("Lucy", "Ella", "Pickle", "Rogan", ..
[프로그래머스] SQL 고득점 Kit - JOIN 프로그래머스에서 제공하는 SQL 고득점 Kit 문제 풀이 코드입니다. (정답 주의) 문제 링크 없어진 기록 찾기 (level 3) JOIN을 사용할 때는 ON을 통해서 두 테이블이 조인될 기준 컬럼을 지정해줘야 함을 잊지말자. 또한 두 테이블의 컬럼을 구분하기 위해서 각 테이블을 AS를 통해 이름을 지정해줘야 한다. SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_OUTS AS OUTS LEFT JOIN ANIMAL_INS AS INS ON OUTS.ANIMAL_ID = INS.ANIMAL_ID WHERE INS.ANIMAL_ID IS NULL ORDER BY OUTS.ANIMAL_ID 있었는데요 없었습니다 (level 3) LEFT JOIN은 앞 테이블을 기준으로 한 J..
[프로그래머스] SQL 고득점 Kit - IS NULL 프로그래머스에서 제공하는 SQL 고득점 Kit 문제 풀이 코드입니다. (정답 주의) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이름이 없는 동물의 아이디 (level 1) WHERE 구문에서 IS NULL이라는 키워드를 통해 NULL에 대한 조건 처리가 가능하다. SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL 이름이 있는 동물의 아이디 (level 1) WHERE 구문에서 IS NOT NULL이라는 키워드를 통해 NULL이 아닌 데이터에 대한 조건 처리가 가능하다. SELECT ANIMAL_..
[프로그래머스] SQL 고득점 Kit - GROUP BY 프로그래머스에서 제공하는 SQL 고득점 Kit 문제 풀이 코드입니다. (정답 주의) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 고양이와 개는 몇 마리 있을까 (level 2) GROUP BY는 특정 칼럼 항목들을 기준으로 묶어주는 역할을 하는 구문이다. COUNT와 함께 자주 쓰이는데, 이 문제와 같이 항목 별 레코드 갯수를 구하는데 용이하다. SELECT ANIMAL_TYPE, COUNT(ANIMAL_TYPE) AS count FROM ANIMAL_INS WHERE ANIMAL_TYPE IN ('Cat', 'Dog') GROUP BY AN..
[프로그래머스] SQL 고득점 Kit - SUM, MAX, MIN 프로그래머스에서 제공하는 SQL 고득점 Kit 문제 풀이 코드입니다. (정답 주의) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 최댓값 구하기 (level 1) MAX() 키워드를 이용하면 해당 컬럼 값 중 가장 큰 값을 리턴한다. DATETIME의 경우의 MAX는 가장 최근 시간이다. SELECT MAX(DATETIME) AS "시간" FROM ANIMAL_INS 최솟값 구하기 (level 2) MIN() 키워드는 해당 컬럼 값 중 가장 큰 값을 리턴한다. DATETIME의 경우의 MIN은 가장 최근 시간이다. SELECT MIN(DATET..
[프로그래머스] SQL 고득점 Kit - SELECT 프로그래머스에서 제공하는 SQL 고득점 Kit 문제 풀이 코드입니다. (정답 주의) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 모든 레코드 조회하기 (level 1) ORDER BY를 이용해 특정 컬럼을 기준으로 정렬이 가능하다. SELECT * FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC 역순 정렬하기 (level 1) ORDER BY 뒤에 ASC를 붙이면 오름차순, DESC를 붙이면 내림차순으로 정렬한다. SELECT NAME, DATETIME FROM ANIMAL_INS ORDER BY ANIMAL_ID DES..
[프로그래머스] 사칙연산 - Java 코딩테스트 연습 - 사칙연산 ["5", "-", "3", "+", "1", "+", "2", "-", "4"] 3 programmers.co.kr 문제 설명 사칙연산에서 더하기(+)는 결합법칙이 성립하지만, 빼기(-)는 결합법칙이 성립하지 않습니다. 예를 들어 식 1 - 5 - 3은 연산 순서에 따라 다음과 같이 다른 결과를 가집니다. ((1 - 5) - 3) = -7 (1 - (5 - 3)) = -1 위 예시와 같이 뺄셈은 연산 순서에 따라 그 결과가 바뀔 수 있습니다. 또 다른 예로 식 1 - 3 + 5 - 8은 연산 순서에 따라 다음과 같이 5가지 결과가 나옵니다. (((1 - 3) + 5) - 8) = -5 ((1 - (3 + 5)) - 8) = -15 (1 - ((3 + 5) - 8)) = 1 ..