분류 전체보기
-
IF 조건에 따라 값을 넣고 싶을 경우 사용 IF(조건식, 조건이 참일 때 출력값, 조건이 거짓일 때 출력값) 게임들 중 다운로드 수가 40이상인 것은 "추천", 아니면 "보통"이라는 값을 출력하고 싶다. SELECT 다운로드, IF(다운로드 >=40, "추천", "보통") FROM steam.game; CASE IF는 양자택일만 가능하나, CASE는 여러 조건을 사용 가능하다. 문자나 숫자같은 데이터넣는 자리에 CASE 문법을 넣을 수 있다. CASE WHEN 조건식1 THEN 결과값1 WHEN 조건식2 THEN 결과값2 WHEN 조건식3 THEN 결과값3 END 다운로드가 40회 이상이면 "A", 40회 미만 10회 이상이면 "B", 10회 미만이면 "C" 등급을 매기고 싶다. SELECT 다운로드,..
[MySQL] IF / CASEIF 조건에 따라 값을 넣고 싶을 경우 사용 IF(조건식, 조건이 참일 때 출력값, 조건이 거짓일 때 출력값) 게임들 중 다운로드 수가 40이상인 것은 "추천", 아니면 "보통"이라는 값을 출력하고 싶다. SELECT 다운로드, IF(다운로드 >=40, "추천", "보통") FROM steam.game; CASE IF는 양자택일만 가능하나, CASE는 여러 조건을 사용 가능하다. 문자나 숫자같은 데이터넣는 자리에 CASE 문법을 넣을 수 있다. CASE WHEN 조건식1 THEN 결과값1 WHEN 조건식2 THEN 결과값2 WHEN 조건식3 THEN 결과값3 END 다운로드가 40회 이상이면 "A", 40회 미만 10회 이상이면 "B", 10회 미만이면 "C" 등급을 매기고 싶다. SELECT 다운로드,..
2023.03.04 -
GROUP BY 1. GROUP BY 컬럼명 → 컬럼명 같은 값끼리 모아줌 2. 집계함수 사용 (avg, count ...) 게임 카테고리 별로 평균 가격을 계산하고 싶다. SELECT 카테고리, avg(가격) FROM steam.game GROUP BY 카테고리; GROUP BY 컬럼명 HAVING 조건식 GROUP BY한 결과를 필터링 하고 싶을 때 사용 게임 카테고리 별로 평균 가격을 계산한 것 중 RPG랑 생존 카테고리의 게임만 보고 싶다. SELECT 카테고리, avg(가격) FROM steam.game GROUP BY 카테고리 HAVING 카테고리 IN ("RPG", "생존"); 게임 카테고리 별로 평균 가격을 계산한 것 중 로그라이크 라는 단어가 들어간 카테고리의 게임만 보고 싶다. SELE..
[MySQL] 그룹지어 통계내기 (GROUP BY)GROUP BY 1. GROUP BY 컬럼명 → 컬럼명 같은 값끼리 모아줌 2. 집계함수 사용 (avg, count ...) 게임 카테고리 별로 평균 가격을 계산하고 싶다. SELECT 카테고리, avg(가격) FROM steam.game GROUP BY 카테고리; GROUP BY 컬럼명 HAVING 조건식 GROUP BY한 결과를 필터링 하고 싶을 때 사용 게임 카테고리 별로 평균 가격을 계산한 것 중 RPG랑 생존 카테고리의 게임만 보고 싶다. SELECT 카테고리, avg(가격) FROM steam.game GROUP BY 카테고리 HAVING 카테고리 IN ("RPG", "생존"); 게임 카테고리 별로 평균 가격을 계산한 것 중 로그라이크 라는 단어가 들어간 카테고리의 게임만 보고 싶다. SELE..
2023.03.04 -
1개의 문자나 숫자를 뱉는 SELECT 문만 서브쿼리로 사용할 수 있다. 서브쿼리를 사용할 때 소괄호를 사용해야한다. 가격이 전체 게임의 평균 가격보다 높은 게임만 출력하고 싶다. SELECT * FROM steam.game WHERE 가격 > (SELECT avg(가격) FROM steam.game) 게임명, 다운로드, 게임의 다운로드 수와 평균 다운로드 수의 차이를 DIFF 라는 컬럼의 이름으로하는 세가지 정보를 출력하고 싶다. SELECT 게임명, 다운로드, 다운로드 - (SELECT AVG(다운로드) FROM steam.game) AS DIFF FROM steam.game; ※ 그러나 IN( )안에 서브쿼리를 사용할 때는 1개의 문자나 숫자를 뱉는 SELECT 문만 사용할 수 있는 것이 아니다! ..
[MySQL] 서브쿼리1개의 문자나 숫자를 뱉는 SELECT 문만 서브쿼리로 사용할 수 있다. 서브쿼리를 사용할 때 소괄호를 사용해야한다. 가격이 전체 게임의 평균 가격보다 높은 게임만 출력하고 싶다. SELECT * FROM steam.game WHERE 가격 > (SELECT avg(가격) FROM steam.game) 게임명, 다운로드, 게임의 다운로드 수와 평균 다운로드 수의 차이를 DIFF 라는 컬럼의 이름으로하는 세가지 정보를 출력하고 싶다. SELECT 게임명, 다운로드, 다운로드 - (SELECT AVG(다운로드) FROM steam.game) AS DIFF FROM steam.game; ※ 그러나 IN( )안에 서브쿼리를 사용할 때는 1개의 문자나 숫자를 뱉는 SELECT 문만 사용할 수 있는 것이 아니다! ..
2023.03.04 -
컬럼 데이터 사칙연산 모든 게임 가격을 10% 할인된 가격으로 계산해서 확인하고 싶다. SELECT 게임명, 가격 * 0.9 FROM steam.game; 문자끼리 이어붙이기 (CONCAT) "게임명_카테고리"로 붙여서 출력하고 싶다. SELECT concat(게임명, "_" ,카테고리) FROM steam.game; 문자 좌우 공백제거 (TRIM) 파이썬의 strip같은 역할 SELECT TRIM(게임명) FROM steam.game; 기존 저장되어있는 단어를 바꿔서 출력 (REPLACE) REPLACE(컬럼명, 바뀔단어, 바꿀단어) 카테고리의 "퍼즐"을 "puzzle"로 영어로 바꿔서 출력하고 싶다. SELECT 게임명, REPLACE(카테고리, "퍼즐", "puzzle") FROM steam.gam..
[MySQL] 컬럼 데이터 조작 (CONCAT, TRIM, REPLACE, SUBSTR, INSERT)컬럼 데이터 사칙연산 모든 게임 가격을 10% 할인된 가격으로 계산해서 확인하고 싶다. SELECT 게임명, 가격 * 0.9 FROM steam.game; 문자끼리 이어붙이기 (CONCAT) "게임명_카테고리"로 붙여서 출력하고 싶다. SELECT concat(게임명, "_" ,카테고리) FROM steam.game; 문자 좌우 공백제거 (TRIM) 파이썬의 strip같은 역할 SELECT TRIM(게임명) FROM steam.game; 기존 저장되어있는 단어를 바꿔서 출력 (REPLACE) REPLACE(컬럼명, 바뀔단어, 바꿀단어) 카테고리의 "퍼즐"을 "puzzle"로 영어로 바꿔서 출력하고 싶다. SELECT 게임명, REPLACE(카테고리, "퍼즐", "puzzle") FROM steam.gam..
2023.03.03 -
최대/최소값 찾기 (MAX/MIN) steam 게임들 중 제일 비싼 가격의 게임을 찾고싶다. → MAX() steam 게임들 중 제일 싼 가격의 게임을 찾고싶다. → MIN() SELECT max(가격) FROM steam.game; 게임들 중 최대 가격과 최대 다운로드 수를 확인하고 싶다. SELECT MAX(가격) AS 최대가격, MAX(다운로드) AS 최대다운로드수 FROM steam.game; ※ MIN/MAX를 사용하지 않고 최대/최소를 구하기 → 데이터가 너무 많은 경우 정렬을 한다음 맨 위의 자료를 가져오는게 더 빠를 때도 있다. # 정렬 후 제일 상단 값 가져오기 SELECT 가격 FROM steam.game ORDER BY 가격 ASC LIMIT 1; SELECT 가격 FROM steam..
[MySQL] 통계 (MIN, MAX, AVG, SUM)최대/최소값 찾기 (MAX/MIN) steam 게임들 중 제일 비싼 가격의 게임을 찾고싶다. → MAX() steam 게임들 중 제일 싼 가격의 게임을 찾고싶다. → MIN() SELECT max(가격) FROM steam.game; 게임들 중 최대 가격과 최대 다운로드 수를 확인하고 싶다. SELECT MAX(가격) AS 최대가격, MAX(다운로드) AS 최대다운로드수 FROM steam.game; ※ MIN/MAX를 사용하지 않고 최대/최소를 구하기 → 데이터가 너무 많은 경우 정렬을 한다음 맨 위의 자료를 가져오는게 더 빠를 때도 있다. # 정렬 후 제일 상단 값 가져오기 SELECT 가격 FROM steam.game ORDER BY 가격 ASC LIMIT 1; SELECT 가격 FROM steam..
2023.03.03 -
특정 단어 검색 (LIKE) ▮ % 카테고리가 로그라이크 장르인 게임들만 출력하고 싶다. (액션 로그라이크도 포함해서) LIKE 뒤에 검색어를 적으면 그 글자만 정확히 들어있는 행만 찾아주기 때문에 와일드카드인 %를 붙여주어야 한다. (%는 아무 글자를 의미한다고 보면 된다.) SELECT * FROM steam.game WHERE 카테고리 LIKE "%로그라이크%"; 카테고리에 로그라이크가 들어있거나 RPG가 들어있는 게임들만 출력하고 싶다. SELECT * FROM steam.game WHERE 카테고리 LIKE "%로그라이크%" OR 카테고리 LIKE "%RPG%"; ▮ _ "_"도 "%"처럼 아무 글자를 의미하는데 차이점이 있다면 % : 아무 글자 0자부터 무한개까지를 의미 _ : 아무 글자 딱 ..
[MySQL] 특정 단어 검색 (LIKE)특정 단어 검색 (LIKE) ▮ % 카테고리가 로그라이크 장르인 게임들만 출력하고 싶다. (액션 로그라이크도 포함해서) LIKE 뒤에 검색어를 적으면 그 글자만 정확히 들어있는 행만 찾아주기 때문에 와일드카드인 %를 붙여주어야 한다. (%는 아무 글자를 의미한다고 보면 된다.) SELECT * FROM steam.game WHERE 카테고리 LIKE "%로그라이크%"; 카테고리에 로그라이크가 들어있거나 RPG가 들어있는 게임들만 출력하고 싶다. SELECT * FROM steam.game WHERE 카테고리 LIKE "%로그라이크%" OR 카테고리 LIKE "%RPG%"; ▮ _ "_"도 "%"처럼 아무 글자를 의미하는데 차이점이 있다면 % : 아무 글자 0자부터 무한개까지를 의미 _ : 아무 글자 딱 ..
2023.03.03 -
csv 파일 Dbeaver에 import 원하는 데이터만을 추출하기 위해 필터링 (WHERE) SELECT 컬럼명 FROM 테이블명 WHERE 조건식; SELECT * FROM steam.game WHERE 카테고리 = "어드벤쳐"; ▮ AND / OR 를 사용해서 여러 개의 조건식 사용 SELECT * FROM steam.game WHERE 카테고리 = "어드벤쳐" AND 가격 < 50000; ▮ BETWEEN [ ] AND [ ] : 좀 더 세부적인 필터링을 하고 싶다면? 가격이 10000원 이상 26000원 이하인 데이터를 필터링 하고 싶다면? SELECT * FROM steam.game WHERE 가격 BETWEEN 10000 AND 26000; ▮ NOT "로그라이크" 장르가 아닌 게임들의 정보..
[MySQL] 데이터 필터링 (WHERE)csv 파일 Dbeaver에 import 원하는 데이터만을 추출하기 위해 필터링 (WHERE) SELECT 컬럼명 FROM 테이블명 WHERE 조건식; SELECT * FROM steam.game WHERE 카테고리 = "어드벤쳐"; ▮ AND / OR 를 사용해서 여러 개의 조건식 사용 SELECT * FROM steam.game WHERE 카테고리 = "어드벤쳐" AND 가격 < 50000; ▮ BETWEEN [ ] AND [ ] : 좀 더 세부적인 필터링을 하고 싶다면? 가격이 10000원 이상 26000원 이하인 데이터를 필터링 하고 싶다면? SELECT * FROM steam.game WHERE 가격 BETWEEN 10000 AND 26000; ▮ NOT "로그라이크" 장르가 아닌 게임들의 정보..
2023.03.02 -
Steam 데이터베이스에 game 테이블이 아래처럼 존재한다고 하자. 데이터 출력 : SELECT 1. SQL을 사용해서 데이터를 가지고 놀기 위해서는 DBeaver에서는 SQL 편집기를 열어서 SQL를 작성해야한다. 2. steam 데이터베이스의 game 테이블의 데이터를 다 출력하고 싶다. select * from 테이블명 select * from 데이터베이스명.테이블명 3. steam 데이터베이스의 game 테이블의 특정 컬럼의 데이터를 출력하고 싶다. select 컬럼명1, 컬럼명2 from 테이블명 데이터 정렬 : ORDER BY 1. 데이터를 정렬해서 출력하고 싶을 때는 뒤에 ORDER BY 문법을 추가해주면 된다. ASC : 오름차순 (1→2→3, 가→나→다) SELECT * FROM 테이블..
[MySQL] 데이터 출력 및 정렬 (SELECT, ORDER BY)Steam 데이터베이스에 game 테이블이 아래처럼 존재한다고 하자. 데이터 출력 : SELECT 1. SQL을 사용해서 데이터를 가지고 놀기 위해서는 DBeaver에서는 SQL 편집기를 열어서 SQL를 작성해야한다. 2. steam 데이터베이스의 game 테이블의 데이터를 다 출력하고 싶다. select * from 테이블명 select * from 데이터베이스명.테이블명 3. steam 데이터베이스의 game 테이블의 특정 컬럼의 데이터를 출력하고 싶다. select 컬럼명1, 컬럼명2 from 테이블명 데이터 정렬 : ORDER BY 1. 데이터를 정렬해서 출력하고 싶을 때는 뒤에 ORDER BY 문법을 추가해주면 된다. ASC : 오름차순 (1→2→3, 가→나→다) SELECT * FROM 테이블..
2023.03.02