Data Story

데이터 사이언스, 쉽게 설명하기

SQL 9

프로그래머스 SQL Lv.1 [평균 일일 대여 요금 구하기]

https://school.programmers.co.kr/learn/courses/30/lessons/151136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 CAR_RENTAL_COMPANY_CAR 테이블에서 자동차 종류가 'SUV'인 자동차들의 평균 일일 대여 요금을 출력하는 SQL문을 작성해주세요. 이때 평균 일일 대여 요금은 소수 첫 번째 자리에서 반올림하고, 컬럼명은 AVERAGE_FEE 로 지정해주세요. 예시 -- 코드를 입력하세요 SELECT round(avg(daily_fee)) AVERAGE_FEE from car_rental_c..

Coding Test/SQL 2023.02.16

프로그래머스 SQL Lv.1 [특정 옵션이 포함된 자동차 리스트 구하기]

https://school.programmers.co.kr/learn/courses/30/lessons/157343 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 CAR_RENTAL_COMPANY_CAR 테이블에서 '네비게이션' 옵션이 포함된 자동차 리스트를 출력하는 SQL문을 작성해주세요. 결과는 자동차 ID를 기준으로 내림차순 정렬해주세요. -- 코드를 입력하세요 SELECT * from car_rental_company_car where options like "%네비게이션%" order by car_id desc 해설 - where절에 lik..

Coding Test/SQL 2023.02.16

프로그래머스 SQL Lv.1 [자동차 대여 기록에서 장기/단기 대여 구분하기]

https://school.programmers.co.kr/learn/courses/30/lessons/151138#qna 문제 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요. # -- 코드를 입력하세요 SELECT HISTORY_ID, CAR_ID, date_format(start_date,"%Y-%m-%d") START_DATE ,date_format(end_date,"%Y-%m-%d") EN..

Coding Test/SQL 2023.02.16

SQL - [IMPORT & EXPORT]

IMPORT & EXPORT csv 파일에서 데이터를 불러오고 이미 존재하는 표에 넣어보자. 단, 포맷이나 매크로나 데이터 유형이 다른 경우에 파일을 불러오면 적용이 되지 않을 것이다. 파일을 수정하거나 가지고 있는 데이터 파일에 잘 맞도록 기존 테이블을 변경해야한다. 파일 불러오기만으로는 표가 만들어지지지 않는다. pgAdmin의 불러오기 기능은 표가 이미 생성되었다는 가정하에 작동된다. 예를 들어 아래와 같은 CSV 파일이 있다고 가정해보자. A B C 1 4 7 2 5 8 3 6 9 이제 이 파일을 pgAdmin에 불러올 것이다. create table( column1 integer, column2 integer, column3 integer) - 표를 만들었는데도 보이지 않는다면 refresh를 ..

Coding Test 2022.12.17

SQL - [Table Command]

Table Command 테이블을 만들기 위한 명령어들을 알아보자. CREATE TABLE 테이블을 만드는 명령어이다. (account는 명령어로 사용한 것이 아니라 '계좌'를 영어로 표현한 것이다.) #account table create table account( user_id serial primary key, username varchar(50) unique not null, password varchar(50) not null, email varchar(256) unique not null, create_on timestamp not null, last_login timestamp ) #job table create table job( job_id serial primary key, job_na..

Coding Test 2022.12.13

SQL - [DB, Table]

DB, Table 지금까지는 DB에서 Query를 했는데 이제는 SQL명령어로 DB와 Table을 생성해보자. 우선, 데이터 유형을 선택을 하고 저장하는 과정이 필요한데 어떤 데이터 유형을 선택할 것인지 고려해보아야 한다. 예를 들어 전화번호 저장하는데 숫자 유형을 쓸 것인가? Variable Character 형으로 하는 것이 나은 선택일 것이다. 유형 선택에 고민이 든다면 최고의 선례가 잇는 구글링을 하자. 또는 Document를 참조해서 데이터를 저장할 때 어떤 데이터 유형이 있는지 찾아보는 방법도 있다는 것을 기억해두자. Primary Key [그림 1]을 보면 customer_id가 PK(Primary Key)로 되어있다. - 고객 ID로 PK를 두어야 한다. 동명이인이 있을 수 있기 때문이다...

Coding Test 2022.12.13

SQL - [고급 SQL]

TimeStamps and EXTRACT : 날짜와 시간을 다룬다. 날짜와 시간 정보는 스스로 표와 DB를 만들 때 유용하다. 시간 정보와 날짜 정보를 저장하는 다른 데이터 종류의 Subset이 있다는 것을 기억해두자. 상황에 따라 모든 날짜, 시간, 표준시간대를 표시할지 여부를 결정해야 한다. 예를 들어 근무 시간 표를 만들고자 한다면 출퇴근 시간만 체크하면 되고 표준시간대는 굳이 쓸 필요 없을 것이다.(장기적으로 생각하기.) Math Functions and String Functions Sub-query Self-join ​ 1. TIMESTAMP and EXTRACT - TIMESTAMP show all /*실행시간을 보여주는 매개변수*/ show timezone /*select*/ select ..

Coding Test 2022.12.07

SQL - [AS, JOIN, UNION]

AS as, alias는 맨 마지막에 할당되기 때문에 alias로 필터링을 할 수 없다. Where문이나 Having절 같은 곳에서는 사용할 수 없다. 따라서 원래 열 이름이나 원래 함수 중 하나를 선택해야 한다. select customer_id , sum(amount) as total_spent from payment group by customer_id having sum(amount) > 100 ; JOIN [inner join] select * from TableA inner join TableB on TableA.col_match = TableB.col_match e.g. ​ /^그림 1*/ select payment_id, payment.customer_id,first_name from pa..

Coding Test 2022.12.07