반응형

SQL 68

SQLD 데이터베이스(Database) 정의 기본 정리

이 글은 데이터베이스, DBMS, 관계형 데이터베이스, SQL 정의를 담고 있습니다. 데이터베이스(Database) 정의 데이터를 타인과 공유/사용하기 위해, 체계화+통합+관리하는 데이터 집합체 ex. 데이터가 모여있는 "파일" DBMS와 관계형 데이터베이스 정의 DBMS(Database Management System)👩‍💻사용자 - 🗂️데이터베이스 간 사용자가 요구하는 정보 생성+데이터베이스 관리하는 SW 관계형 데이터베이스(Relational Database)관계가 있는 데이터 테이블(표)가 모여 있는 데이터 저장 공간 아래는 DB-Engines에서 확인할 수 있는 DBMS 랭크 차트(2024/03 기준)이다.* 예전에 SQL 공부 시작에 앞서 어떤 DMBS가 자주 쓰이는지 확인하고자 들어갔고, 결..

SQL/SQLD 2024.03.08

MySQL 평균 구하기(AVG, SUM) 유의점 정리

AVG()평균 계산 시 집계된 데이터 개수가 분모이며, NULL값 제외함이 경우 의도적으로 데이터를 누락한 상태에서 평균 계산하는 것이 아니라면, 잘못된 계산을 할 수도 있다. 예를 들어, 한 달치 데이터의 평균을 구한다고 생각해 보자.* 한 달을 28일 기준으로, 30일 기준으로 잡는 곳도 있어서 절대적으로 한 달을 며칠이다라고 말할 수는 없다. 만약 01/01~01/31까지 쌓인 1월 데이터 기반으로 평균을 낼 때, 주말마다 데이터가 누락되어 있고 오직 평일만 데이터가 쌓여있다면? 실질적인 데이터 개수는 '한 달'이 아니다. 이런 상황에서 AVG()를 사용하면 분모가 30이 아니므로, 정확한 평균 계산이 안 나온다.  SUM()의도적으로 누락한 상태에서 평균을 계산하는 경우가 아니라면 AVG()가 아..

SQL/MySQL 2024.03.08

MySQL Workbench 날짜 컬럼 데이터 타입과 날짜 형식 바꾸기

문제 상황 사용하려던 데이터 csv 파일을 가져와서 확인해 봤더니, 날짜 컬럼인 InvoiceDate의 데이터 타입이 TEXT인 상황.그리고 테이블을 확인하면, 날짜 형식은 미국식(MDY)이다.   내가 원하는 것은 DATETIME 데이터 타입으로, 날짜 형식은 한국식(YMD)으로 변환하기.   MySQL Workbench 날짜 컬럼 데이터 타입과 날짜 형식 바꾸기 ALTER TABLE: 테이블 변경ADD & DROP COLUMN: 컬럼 생성/삭제STR_TO_DATE: 문자를 날짜 타입으로 변환첫번째 주의할 점은 MySQL Workbench의 안전모드이다.만약 전체 테이블을 변경하고자, 코드를 그냥 실행하면 Error Code 1175를 만날 것이다.이건 워크벤치가 실수로 변경되는 것을 방지하려고 안전모..

SQL/MySQL 2024.02.28

MySQL LENGTH, CHAR_LENGTH 함수 사용법과 예시

본문은 MySQL LEGNTH, CHAR_LENGTH 함수 개념 및 사용법, 예시를 통한 함수의 활용법을 담고 있습니다. *예시: 해커랭크 SQL Weather Observation Station 5 문제 MySQL LENGTH, CHAR_LENGTH 함수 파이썬 LEN 함수처럼, 영문자의 Byte를 반환, 문자열 길이를 반환하는 LENGTH와 CHAR_LENGTH 함수가 있다. 영문에는 LENGTH 함수를 사용한다. 한글에는 CHAR_LENGTH함수를 사용하며, 이는 Byte를 고려하지 않고 문자 개수를 반환한다. MySQL LENGTH, CHAR_LENGTH 함수 사용법과 예시 # LENGTH 함수 LENGTH('문자열'); # CHAR_LENGTH 함수 CHAR_LENGTH('문자열'); 문자열은 ..

SQL/MySQL 2024.02.08

MySQL NULL값 처리, IFNULL 사용법 (프로그래머스 경기도에 위치한 식품창고 목록 출력하기)

이 글은 IFNULL 사용법과 이를 활용한 프로그래머스 SQL 고득점 Kit 문제와 답을 정리한 글입니다. *MySQL 버전입니다. MySQL NULL값 처리, IFNULL 사용법 MySQL에서 NULL값을 처리하는 방법 중 가장 편리한 IFNULL 사용법은 다음과 같다. select IFNULL(컬럼명,"NULL일 때 출력 값") from 테이블명; select IFNULL(컬럼명, "NULL일 때 출력 값") 해당 컬럼에 NULL값이 있다면, 어떤 값으로 출력할 것인지 입력한다. 문자는 쌍따옴표로 감싸준다. ex. "문자" 숫자는 그냥 입력하면 된다. ex. 10 MySQL IFNULL 사용법 (프로그래머스 경기도에 위치한 식품창고 목록 출력하기) 간단한 IFNULL 사용법을 프로그래머스의 경기도 위..

MySQL 프로그래머스 즐겨찾기가 가장 많은 식당 정보 출력하기 문제 답

이 글은 프로그래머스 SQL 고득점 Kit 문제와 답을 정리한 글입니다. *MySQL 버전입니다. 프로그래머스 즐겨찾기가 가장 많은 식당 정보 출력하기 문제 💡음식 종류, 음식 종류ID, 식당명, 즐겨찾기 수 출력하기 음식 종류별 즐겨찾기 수 가장 많은 식당 정보 출력 음식 종류 기준 내림차순 정렬 프로그래머스 즐겨찾기가 가장 많은 식당 정보 출력하기 답 💡 문제 포인트: 음식 종류별 즐겨찾기 수 가장 많은 식당 필터링 with a as( select max(favorites) as m from rest_info group by food_type ) select b.FOOD_TYPE , b.REST_ID , b.REST_NAME , b.FAVORITES from rest_info as b, a where..

MySQL 프로그래머스 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 문제 답

이 글은 프로그래머스 SQL 고득점 Kit 문제와 답을 정리한 글입니다. *MySQL 버전입니다. 자동차 종류별 특정 옵션이 포함된 자동차 수 구하기 문제 💡 자동차 종류, 종류별 대 수 출력하기 자동차 옵션: 통풍시트/열선시트/가죽시트 중 하나 이상 포함해야 함 자동차 종류 오름차순 자동차 종류 별 특정 옵션이 포함된 자동차 수 구하기 답 💡 문제 포인트: 자동차의 특정 옵션 키워드 필터링하기 select CAR_TYPE , count(car_id) as CARS from CAR_RENTAL_COMPANY_CAR where options regexp('열선시트|통풍시트|가죽시트') group by CAR_TYPE order by CAR_TYPE; 단순하게 생각하면 LIKE OR을 사용할 수 있으나, 쿼..

MySQL 프로그래머스 재구매가 일어난 상품과 회원 리스트 구하기 문제 답

이 글은 프로그래머스 SQL 고득점 Kit 문제와 답을 정리한 글입니다. *MySQL 버전입니다. 프로그래머스 재구매가 일어난 상품과 회원 리스트 구하기 문제 💡 회원 ID, 상품 ID 출력하기 동일 회원이 동일 상품을 재구매한 경우만 출력 회원 ID 오름차순, 상품 ID 내림차순 정렬 프로그래머스 재구매가 일어난 상품과 회원 리스트 구하기 답 💡 문제 포인트: 동일 상품을 재구매한 동일 회원 출력 select USER_ID , PRODUCT_ID from ONLINE_SALE group by USER_ID, PRODUCT_ID having count(USER_ID) >= 2 and count(PRODUCT_ID) >= 2 order by USER_ID, PRODUCT_ID desc; 1. 유저별 구매 ..

HackerRank(해커랭크) MySQL The Report 문제 답

*MySQL 버전, Basic Join 문제입니다. 해커랭크 The Report 문제, 샘플 name, grade, mark 순으로 컬럼 가져오기 grade 8 미만은 name null로 가져오기, 8 이상은 풀네임 가져오기 grade 8 미만은 grade 내림차순 정렬, grade 같을 시 mark 오름차 순 정렬 grade 8 이상은 grade 내림차순 정렬, grade 같을 시 name 알파벳 순 정렬 해커랭크 The Report 답 SELECT CASE WHEN grade >= 8 THEN name ELSE NULL END, grade, marks FROM students s JOIN grades g ON s.marks >= g.min_marks AND s.marks = grades.min_mar..

MySQL 프로그래머스 서울에 위치한 식당 목록 출력하기 문제 답

이 글은 프로그래머스 SQL 고득점 Kit 문제와 답을 정리한 글입니다. *MySQL 버전입니다. 프로그래머스 서울에 위치한 식당 목록 출력하기 문제 💡식당 id, 식당 이름, 음식 종류, 즐겨찾기 수, 주소, 리뷰 평균 점수 가져오기 리뷰 평균 점수: 소수 세 번째 자리에서 반올림 리뷰 평균 점수 내림차순, 즐겨찾기 수 내림차순 정렬 프로그래머스 서울에 위치한 식당 목록 출력하기 답 💡 본 문제의 포인트: 두 테이블 조인, select 활용 select a.rest_id as REST_ID , REST_NAME , FOOD_TYPE , FAVORITES , ADDRESS , b.avg_s as SCORE from rest_info as a , (select rest_id , round(avg(revie..

반응형
top