본문 바로가기

SQL - Mysql & Oracle

(23)
[Bigquery] Big Query로 SQL 마스터 - 1. 프로젝트 설정하기 이번 포스팅은 Google Bigquery를 사용하기 위해서 어떻게 해야하는지 A to Z 콘텐츠이다. SQL은 연습하고 싶은데, 다른 DB 환경 구축은 너무 어렵고, 그렇다고 SQL 연습은 안 할 수 없고 답답할 때가 굉장히 많았을 것이다. 그럴 때는 빅쿼리에서 간단한 Cloud Console 설정을 통해 모든 것을 One Stop으로 해결할 수 있다. 문과, 초보자, 코린이 모두 쉽게 따라할 수 있도록 최대한 간결하고 쉽게 구성했으니, 필요한 내용을 잘 찾아서 보자. 1. Bigquery - Cloud Console 들어가기 Step1. 구글 Cloud Console 접속하기 - URL Step2. "BigQuery 무료로 사용해 보기" 클릭하기 사용하려면 일단 접속하는 것이 먼저다. 여기는 참고로 ..
[SQL] 프로그래머스 - 보호소에서 중성화한 동물(inner join 기출) 1. 문제의 출처 - 프로그래머스 오늘은 프로그래머스 SQL 고득점키트 중 "join"에 대해서 풀어볼 것이다. Join문제에는 4개가 있는데 그중에서 "보호소에서 중성화한 동물" 문제에 대한 해설을 해보고자 한다. 여기서 문제의 핵심은 Join을 활용하여 상태값이 어떻게 다른지 비교할 수 있는 것이 핵심이다. 문제 URL 코딩테스트 연습 - 보호소에서 중성화한 동물 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 2. 문제의 설명 및 ..
[SQL] 프로그래머스 - 최댓값 구하기 해설(feat. 집계함수 모음) 1. 문제 출처 프로그래머스 최대값 구하기 문제 원본으로 이동 오늘의 핵심은 SQL에는 어떤 집계함수가 있고, 어떻게 활용할 수 있는지 파악해보는 것이다. SQL의 기본 실력을 쌓는데 핵심이니, 단순 풀이 뿐만 아니라 집계함수의 종류에 대해서도 알아가면 좋다. 2. 문제 간단 설명 - 가장 최근에 들어온 동물의 시간은? 문제의 요구 사항은 정말 간단하다. 가장 최근에 동물은 언제들어왔는지 정확한 시간을 구하는 것이다. 난이도가 쉬워서 그렇지, 어렵게 냈으려면 시간의 형식도 정해줬을 것이다. 이 부분은 나중에 기회가 있을 때 다루도록 하자. 3. 코드 해설 - 다양한 집계함수를 써보자 1 2 3 4 5 6 7 8 9 10 -- 좋은 코드의 예시 SELECT max(ai.DATETIME) 시간 FROM AN..
SQL - 프로그래머스 - 입양 시각구하기(2) 1. 문제의 출처 프로그래머스 입양 시각 구하기 문제로 이동하기 2. 문제의 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 및 중성화 여부를 나타냅니다. NAMETYPENULLABLE ANIMAL_ID VARCHAR(N) FALSE ANIMAL_TYPE VARCHAR(N) FALSE DATETIME DATETIME FALSE NAME VARCHAR(N) TRUE SEX_UPON_OUTCOME VARCHAR(N) FALSE 보호소에서는 몇 시에 입양이..
SQL - 실전 문제 풀이(Basic Aggregation / 집계함수) - 난이도 하 1. 집계함수(Aggregation Function)의 기본 개념 - sum, avg, min, max, count 2. 실전 문제 풀이 - Top Earners 1. 집계함수(Aggregation Function)의 기본 개념 집계 함수는 가장 간단하게 말해서 '어떠한 기준'을 가지고, 숫자들을 더하거나, 빼거나, 평균을 내거나 등등 간단한 사칙연산을 하는 함수입니다. 문법은 너무나도 간단해서 자세하게 설명하면 오히려 지루하고, 시간 낭비입니다. 그래서 참조할 만한 링크 하나 넣어드리고 이번 포스팅에서는 이 집계함수를 어떻게 실전 문제에서 활용하는지 말씀드리도록 할게요. (1) 집계함수의 기본 문법 및 활용 blog.naver.com/february2ttl/80138225546 [MS-SQL] 집계함수..
SQL - 실전 문제 풀이(Basic Join & Advanced Select) - 난이도 중 이번에 배울 개념은 Basic Join 과 Advanced Select입니다. 1. Basic Join & Advanced Select 2. 실전 문제 풀이 - The Report Problem by Hacker Rank 1. Basic Join & Advanced Select 1-1. Basic Join. 이 부분은 Table을 병합하는 방법입니다. 자세한 사항은 이전 게시글에 올려놨으니, 해당 URL을 참조해보시기 바랍니다. Join 기본 개념 설명 - 이전 포스팅 참조 이 문제에서 활용할 join 방법은 inner join입니다. 즉 두 테이블 간 공유하고 있는 데이터만 불러와도 상관이 없다는 것이죠. 1-2. Advanced Select - Case When then ~ 구문 Select 문에서 ..
SQL - 실전 문제 풀이(Basic & Advanced Join) - 난이도 하 이번에는 SQL JOIN 개념을 알아보고, 실전 코딩테스트 문제를 풀어보면서 실습까지 해보는 포스팅입니다. 1. SQL에서 Table 간 병합의 기본 원리 SQL에서 TABLE 간 병합할 때 기억해야 할 것은 '병합 기준'과 '병합 방법'입니다. 1-1. 병합의 기준. Parent Key와 Foreigen Key Parent Key(PK)는 제가 데이터를 원래 조회하고자 하는 Table에서 하나의 Column이라고 생각하시면 됩니다. 즉 PK를 하나의 기준으로 잡고 다른 Table과 연결하는 것입니다. Foreign Key(FK)는 병합하고자 하는 데이터 테이블에서 하나의 column을 선정하는 것입니다. 가장 중요한 것은 PK와 FK는 동일한 데이터 성질을 가지고 있어야 한다는 점입니다. 즉 Colum..

728x90
반응형