본문 바로가기

분류 전체보기

(81)
[Programmers/MySQL] JOIN 문제 풀이 모음 1. 상품 별 오프라인 매출 구하기 SELECT PRODUCT.PRODUCT_CODE, SUM(PRODUCT.PRICE * OFFLINE_SALE.SALES_AMOUNT) AS SALES FROM PRODUCT JOIN OFFLINE_SALE ON PRODUCT.PRODUCT_ID = OFFLINE_SALE.PRODUCT_ID GROUP BY PRODUCT.PRODUCT_ID ORDER BY SALES DESC, PRODUCT.PRODUCT_CODE; 2. 조건에 맞는 도서와 저자 리스트 출력하기 SELECT BOOK.BOOK_ID AS BOOK_ID, AUTHOR.AUTHOR_NAME AS AUTHOR_NAME, DATE_FORMAT(BOOK.PUBLISHED_DATE, '%Y-%m-%d') AS PU..
[Programmers/MySQL] IS NULL 문제 풀이 모음 1. 이름이 없는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NULL ORDER BY ANIMAL_ID ASC; 2. 이름이 있는 동물의 아이디 SELECT ANIMAL_ID FROM ANIMAL_INS WHERE NAME IS NOT NULL ORDER BY ANIMAL_ID ASC; 3. 나이 정보가 없는 회원 수 구하기 SELECT COUNT(USER_ID) AS USERS FROM USER_INFO WHERE AGE IS NULL; 4. 경기도에 위치한 식품창고 목록 출력하기 SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IF(FREEZER_YN IS NULL, 'N', FREEZER_YN) AS FREEZ..
[Programmers/MySQL] GROUP BY 문제 풀이 모음 1. 입양 시각 구하기(1) SELECT HOUR(DATETIME) AS HOUR, COUNT(*) FROM ANIMAL_OUTS GROUP BY HOUR HAVING HOUR BETWEEN 9 AND 19 ORDER BY HOUR; 2. 입양 시각 구하기(2) SET @hour := -1; SELECT (@hour := @hour + 1) as HOUR, (SELECT COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @hour) as COUNT FROM ANIMAL_OUTS WHERE @hour < 23 3. 동명 동물 수 찾기 SELECT NAME, COUNT(*) FROM ANIMAL_INS WHERE NAME IS NOT NULL GROUP BY NAME H..
[Programmers/MySQL] SUM/MAX/MIN 문제 풀이 모음 1. 최댓값 구하기 SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME DESC LIMIT 1; 2. 중복 제거하기 SELECT COUNT(DISTINCT NAME) AS count FROM ANIMAL_INS; 3. 동물 수 구하기 SELECT COUNT(*) FROM ANIMAL_INS; 4. 최솟값 구하기 SELECT DATETIME FROM ANIMAL_INS ORDER BY DATETIME ASC LIMIT 1; 5. 가장 비싼 상품 구하기 SELECT PRODUCT.PRICE AS MAX_PRICE FROM PRODUCT ORDER BY PRICE DESC LIMIT 1; 6. 가격이 제일 비싼 식품의 정보 출력하기 SELECT PRODUCT_ID, PRO..
[Programmers/MySQL] SELECT 문제 풀이 모음 1. 상위 N개 레코드 SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME ASC LIMIT 1; 2. 여러 기준으로 정렬하기 SELECT ANIMAL_ID, NAME, DATETIME FROM ANIMAL_INS ORDER BY NAME ASC, DATETIME DESC; 3. 동물의 ID와 이름 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC; 4. 어린 동물 찾기 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION != 'Aged' ORDER BY ANIMAL_ID ASC; 5. 아픈 동물 찾기 SELECT ANIMAL_ID, NAME FROM AN..
[모두의 SQL] 12장. 신규 매출 분석 탐색적 데이터 분석(EDA, Exploratory Data Analysis) 본격적인 데이터 분석 전, 데이터의 기본 구조와 기초 통계 데이터를 확인함으로써 분석 인사이트를 확보하고 전체적인 데이터 분석의 방향을 잡아가는 과정 목표 데이터를 선택하고 특징 값을 찾아내고 의미있는 것을 도출해 나가는 과정 전처리 데이터를 정규화하거나 표준화하는 작업 전처리를 하지 않으면 누락되거나 틀린 값이 나올 수 있음 데이터 분석 의미있는 결과를 도출하거나 패턴 분석 데이터마이닝이라고 불리는 과정, 통계 분석기술이 많이 포함됨 모두의 SQL | 김도연 - 교보문고 모두의 SQL | 난생처음 SQL로 데이터를 분석하고 가공해야 한다면? 초보자와 비전공자를 위한 가장 쉬운 SQL 입문서 인터넷이 발전하고 페이스북과 같은 소..
[모두의 SQL] 11장. 관계형 데이터베이스의 주요지식 뷰 실제 데이터가 없는 테이블을 바라보는 매개체이자 ‘거울’ 테이블에서 사용자가 필요로 하는 부분만 선택하여 만들어 놓은 데이터의 집합 가장 테이블 사용자의 편의, 데이터베이스의 보안 때문에 사용 뷰의 특징 데이터 가공을 통해 마치 테이블처럼 내용을 보여줌 자주 쓰거나 복잡한 SQL문의 결과를 미리 만들어 놓을 수 있음 여러 테이블을 조인해 하나의 뷰로 생성 가능 사용자별로 접근 권한 설정 가능 각기 다른 데이터베이스 시스템에서 각각의 데이터를 전달해야 하는 경우에도 유용 뷰의 종류 심플 뷰(simple view): 하나의 테이블에서 데이터 생성, CREATE VIEW 명령어 컴플렉스 뷰(complex view): 여러 개의 테이블을 조인해 데이터 생성: CREATE VIEW 인라인 뷰(inline vi..
[모두의 SQL] 10장. DDL: 테이블과 열 조작 DDL(Data Definition Language) 데이터정의어, 테이블과 열을 생성/변경/삭제하는 명령어 따로 커밋하지 않아도 데이터베이스에 즉각 반영되며 데이터사전(data dictionary)에 기록 CREATE: 테이블 생성 테이블과 열 이름 생성 규칙 동일한 사용자가 동일한 이름의 테이블 중복 생성X, 테이블 안의 열 이름도 동일 이름으로 생성 불가 SELECT, FROM, COUNT와 같은 예약어 사용 불가 테이블 이름은 문자로 시작 문자 길이는 1~30바이트 이내 CREATE TABLE 테이블이름 (열이름1 데이터타입, 열이름2 데이터타입[(자릿수)], ... ); ALTER: 테이블 수정 ALTER TABLE ~ADD절의 특징 새로운 열 추가 가능 BUT 기존 열 삭제 불가 새로 생성되는..