# sql

9846개의 포스트
post-thumbnail

error : Incorrect string value에러가 난 경우(Maria DB)

⚠️ Sql 한글 인코딩 에러 아래와 같은 sql문을 입력했더니 QL Error [1366] [22007]: (conn=5) Incorrect string value: 에러가 발생했다. 🤔 에러 이유 > mariaDB에서는 charset이 default로 설정되어 있어 한글을 추가할려고 한 순간 한글 인코딩 에러가 난 것이다. ✨ 해결방법 > MariaDB 인코딩 설정을 utf8로 변경해야 한다. 다음과 같이 입력을 해주면된다. 위와 같이 입력한 결과 에러가 해결되었다~! ![](https://velog.velc

17분 전
·
0개의 댓글
·
post-thumbnail

Olist 이커머스 공공 데이터셋 분석

Data : https://www.kaggle.com/datasets/olistbr/brazilian-ecommerce Olist라는 회사에서 공개한 2016~2018년까지 Olist의 이커머스 마켓플레이스 플랫폼의 고객 데이터셋을 분석해보았다. 각 테이블당 데이터가 꽤나 방대해서, MariaDB 기반의 Workbench라는 솔루션을 이용해 데이터베이스를 구축하고, ansi sql을 통해 쿼리를 긁어와 python으로 데이터 분석을 진행하는 식으로 작업했다. 1. ANSI SQL ANSI SQL(American National Standards Institute Structured Query Language)은 SQL의 표준화된 버전이라고 생각하면 되겠다. SQL은 DBMS가 무엇이냐에 따라 약

약 5시간 전
·
0개의 댓글
·
post-thumbnail

[MySQL] [SELECT] 재구매가 일어난 상품과 회원 리스트 구하기

문제 확인하러 가기 https://school.programmers.co.kr/learn/courses/30/lessons/131536 초반에 살짝 헷갈렸었는데 그냥 머릿속에 떠올린 그대로의 풀이법을 따랐더니 그게 정답이였다,, 단순하게 생각하자,, `ONLINESALE 테이블을 각 a,b 로 2개 만들어 준다음에 productid로 INNER JOIN` 해준다. 그다음 `userid, productid 가 각각 a,b 서로 같으면서 동시에 sales_date 는 다른 조건식을 WHERE`절에 추가해준다. 즉, 같은 사람이 같은 물건을 다른 날짜에 구매한 기록을 출력하라는 쿼리를 보내는 것이다.

약 6시간 전
·
0개의 댓글
·
post-thumbnail

[MySQL] [SELECT] 서울에 위치한 식당 목록 출력하기

문제 확인 하러 가기 https://school.programmers.co.kr/learn/courses/30/lessons/131118 ROUND(value) -> 소숫점 첫째자리에서 반올림(정수 출력) ROUND(value, 2) -> 소숫점 둘째자리까지(=셋째자리에서) 반올림

약 6시간 전
·
0개의 댓글
·
post-thumbnail

인프런- 데이터 분석을 위한 고급 SQL: 섹션3 - 서브쿼리 Challenges 문제풀이(틀림)

문제(틀림) Julia asked her students to create some coding challenges. Write a query to print the hackerid, name, and the total number of challenges created by each student. Sort your results by the total number of challenges in descending order. If more than one student created the same number of challenges, then sort the result by hackerid. If more than one student created the same number of challenges and the count is less than the maximum number of challenges created, then exclude those stu

약 7시간 전
·
0개의 댓글
·
post-thumbnail

취소되지 않은 진료 예약 조회하기

내 답 > - 서브 쿼리 써서 풀긴했는데 좀 지저분해보이고 runtime오래걸릴꺼같음 다른 답 > - inner join을 2번 연속해서 써서 3개 테이블 합친 다음에 한꺼번에 where문 > - 좀 더 깔끔해 보이긴 하네

약 10시간 전
·
0개의 댓글
·
post-thumbnail

헤비 유저가 소유한 장소

> - 꽤나 쉬워서 바로 풀었다.

약 10시간 전
·
0개의 댓글
·

프로그래머스-고양이와 개는 몇마리 있을까?

풀기 전 알아야 할 것 Group By Group by 는 특정 열을 기준으로 데이터를 그룹화 할 수 있다. 이러면 동일한 값을 갖는 행들이 같은 그룹에 묶인다. 이 과정에서 집계함수(max,count 등)을 사용할수 있으며 특정 칼럼의 고유한 값을 확인하거나 그룹 내에서 통계를 생성하는 데 사용될 수 있다. Having 그룹화된 데이터를 필터링하는 데 사용 GROUP BY 절 다음에 나옴 WHERE 절은 개별 레코드에 대한 필터링에 사용, HAVING 절은 그룹 단위의 필터링에 사용 정답 코드 from table 다음에 를 써준다. 을 붙임으로써 DOG 보다 CAT을 먼저 조회할 수 있다.

약 12시간 전
·
0개의 댓글
·
post-thumbnail

조건별로 분류하여 주문상태 출력하기

바로 맞춤 ㅅㅅ > - 근데 CASE WHEN THEN 어떻게 쓰는지 헷갈려서 찾아본거 안비밀

약 23시간 전
·
0개의 댓글
·
post-thumbnail

즐겨찾기가 가장 많은 식당 정보 출력하기

처음 답 업로드중.. > - 단순히 group by 해주고 MAX해주면 알아서 제일 많은거 가지고 올줄 알았는데 희한하게 일식 이름을 이상한 걸 가져옴 > - 알고 보니 MAX해준다고 MAX랑 같이 있는 열을 가지고 오는게 아니라

약 23시간 전
·
0개의 댓글
·

[#3] Subquery

Subquery 쿼리 안의 쿼리 하위 쿼리의 결과를 상위 쿼리에서 사용 Where절 Subquery의 결과를 조건에 활용 Select절 기존 테이블과 함께 보고싶은 통계 데이터를 쉽게 붙임 From절 subquery와 이미 존재하는 다른 테이블을 join할 때 활용 with subquery를 with절로 깔끔하게 쿼리문 정리 SUBSTRING 문자열 쪼개기 문자열 일부만 출력 CASE 경우에 따라 원하는 값을 새 필드에 출력 [예시] case, with절 예시 [퀴즈1] course_id별 유저의 체크인 개수, 전체 인원 대비 비율 구하기 course_id별 유저의 체크인 개수 구하기 course_id별 인원 구하기 2번을 subquery로 1번에 join 하기 비율을 구하기 위해 cntchkins / cnttotal course 테이블과 join 하여 강의 tit

어제
·
0개의 댓글
·

[#2] JOIN

JOIN 두 테이블을 연결할 때 사용 같은 값을 가지는 key를 차자 연결 LEFT JOIN 왼쪽 테이블(A)을 기준으로 오른쪽 테이블(B)을 join 시킴 A에 있지만 B에 없는 데이터인 경우 NULL로 나옴 INNER JOIN 두 테이블의 교집합 두 테이블 모두 가지고 있는 데이터만 출력 UNION 다수의 SELECT문을 하나로 합침 UNION 사용시 정렬 사용 불가 SQL 쿼리 실행 순서 from → join → where → group by → select [퀴즈1] 결제하고 시작하지 않은 유저들을 성씨별로 세어보기 [퀴즈2] 웹개발, 앱개발 종합반의 week 별 체크인 수 [퀴즈3] 퀴즈2에서 8월 1일 이후에 구매한 고객들만 세기 [퀴즈4] 7월10일 ~ 7월19일에 가입한 고객 중, 포인트를 가진 고객의 숫자, 그리고 전체 숫자, 그리고 비율 구하기 [퀴즈5] enrolled_id별 수강완료(done=1)한

어제
·
0개의 댓글
·

트랜잭션, 트랜잭션 격리 수준

유튜브 알고리즘에 좋은 영상이 떠서 시청후 블로그 포스팅을 하고자 합니다. Transaction DB의 상태를 변환 시키는 하나의 논리적 기능을 수행하기 위한 작업 단위 트랜잭션은 데이터의 정합성을 보장하기 위힌 기능입니다. 데이터의 일관성을 유지하면서 안정적으로 데이터를 복구하기 위함. Transaciton 특징 원자성(Atomicity) 트랜잭션과 관련된 작업들이 부분적으로 실행되디가 중단되지 않는것을 보장하는 능력. 트랜잭션이 DB에 모두 반영되거나 전혀 반영되지 않거나이다. All Or Nothing을 의미한다. 일관성(Consistency) 모든 트랜잭션은 일관성 있는 데이터베이스 상태를 유지해야 합니다. 만약 무결성 제약 조건을 항상 만족해야 한다. 데이터 무결성은 데이터의 정확성, 일관성, 유효성이 유지되는 것을 의미합니다. 독립성, 격리성(isolation) 트랜잭션을 수행 시 다른 트랜잭션의

어제
·
0개의 댓글
·
post-thumbnail

프로그래머스-중성화 여부 파악하기

풀기 전 알아야 할 것 특정 칼럼이 어떤 조건을 만족시킬때 출력값을 다르게 하고 싶다면 아래와 같은 구문을 이용할 수 있다. A라는 칼럼이 X 글자를 포함하고 있다면 O ,X를 출력하는데 칼럼이름은 B로 해서 출력한다는 의미이다. 유의점 위와 같이 like % or %로 하면 조건에 만족하더라도 X로 출력되므로 헷갈리지 말자. 정답코드

어제
·
0개의 댓글
·

인프런- 데이터 분석을 위한 고급 SQL: 섹션3 - 서브쿼리 Department Highest Salary 문제풀이(틀림/완전한 이해X)

인프런 강의 을 듣고, 중요한 점을 정리한 글입니다. 문제 Table: Employee +--------------+---------+ | Column Name | Type | +--------------+---------+ | id | int | | name | varchar | | salary | int | | departmentId | int | +--------------+---------+ id is the primary key (column with unique values) for this table. departmentId is a foreign key (reference columns) of the ID from the Department table. Each row of this table indicates the ID, name, and sal

어제
·
0개의 댓글
·
post-thumbnail

인프런- 데이터 분석을 위한 고급 SQL: 섹션3 - 서브쿼리 Top Earners 문제풀이(틀림)

인프런 강의 을 듣고, 중요한 점을 정리한 글입니다. 문제(틀림) 풀이 나의 틀린 풀이 : 둘 다 아예 에러가 뜬다. 선생님 풀이 (WHERE절 서브쿼리) (HAVING절 서브쿼리) 배운점 SELECT에 쓴 alias는 WHERE절에 못씀. 에러남. GROUP BY부터는 쓸 수 있음. 이 쿼리문에서 마지막 GROUP BY earnings를 안 넣으면 오류가 나는 이유는? > -> 마지막의 GROUP BY earnings를 제거하면 오류가 나는 이유는 SQL에서 집계 함수 (예: COUNT)를 사용하는 경우, 그룹화되지 않은 열을 SELECT 절에 포함할 수 없기 때문입니다. 여기서 GROUP BY earnings는

어제
·
0개의 댓글
·
post-thumbnail

인프런- 데이터 분석을 위한 고급 SQL: 섹션3 - 서브쿼리

인프런 강의 을 듣고, 중요한 점을 정리한 글입니다.

어제
·
0개의 댓글
·

SQL문법(4)

서브쿼리 서브쿼리란? 쿼리 안의 쿼리라는 의미 하위 쿼리의 결과를 상위 쿼리에서 사용 예시에 사용되는 테이블별 특징 checkins: 여러분이 강의실 들어오시며 남기는 '오늘의 다짐'이 들어있어요 columns : checkinid, createdat, updatedat, courseid, user_id, week, comment, likes courses: 스파르타의 개설 강좌 정보가 들어있어요 columns : courseid, createdat, updated_at, title, description enrolleds: 유저별 강좌 등록정보가 들어있어요 columns : enrolledid, createdat, updatedat, courseid, userid, isregistered enrolleds_detail: 유저별 들을 수 있는 영상과, 들었는지 여부가 들어있어요

어제
·
0개의 댓글
·

SQL문법(3)

JOIN JOIN이란? 두 테이블의 공통된 정보(key값)를 기준으로 테이블을 연결해서 한 테이블처럼 사용할 때 쓴다. inner join 실행 순서 : from -> group by -> select left join 기준이 되는 값(Key)에 의해 합쳐졌을 때, 다른

어제
·
0개의 댓글
·

[033] Aggregate Function(집계함수), Scalar Function(스칼라함수), Subquery(서브쿼리) / SQL 심화 - ③

Chapter 1. Aggregate Functions(집계함수) (1) Count (2) Sum (3) Avg (4) Min, Max (5) Group By (6) Having 2. Scalar Functions (1) UPCASE (2) LCASE (3) MID (4) LENGTH (5) ROUND (6) NOW (7) FORMAT 3. SQL Subquery (1) Scalar Subquery (2) Inline View (3) Nested Subquery 1. Aggregate Functions(집계함수) 집계함수란 여러 칼럼 혹은 테이블 전체 칼럼으로부터 하나의 결과값을 반환하는 함수를 말한다. 다음과 같은 종류가 있다. COUNT : 총 갯수를 계산 SUM : 합계 계산 AVG : 평균 계산 MIN : 최솟값 계산 MAX : 최댓값 계산 FIRST : 첫번째 결과값을 리턴 LAST : 마지막 결과값을 리턴

어제
·
0개의 댓글
·