목록개발 (55)
개발은 처음이라 개발새발
https://www.hackerrank.com/challenges/average-population-of-each-continent/problem?h_r=internal-search Average Population of Each Continent | HackerRank Query the names of all continents and their respective city populations, rounded down to the nearest integer. www.hackerrank.com 오늘은 JOIN과 관련된 해커랭크의 퀴즈를 들고왔습니다. 문제는 city, country라는 두개의 테이블이 있고 두 테이블을 조인 시켜 country 테이블에 있는 continent를 기준으로 city 테이..
이번에도 CASE문 퀴즈를 풀어보려고 합니다. 이번에는 해커랭크가 아니라 리트코드의 퀴즈를 풀어볼 겁니다. https://leetcode.com/problems/reformat-department-table/ Reformat Department Table - LeetCode Can you solve this real interview question? Reformat Department Table - Table: Department +-------------+---------+ | Column Name | Type | +-------------+---------+ | id | int | | revenue | int | | month | varchar | +-------------+---------+ (i..
https://www.hackerrank.com/challenges/what-type-of-triangle/problem?h_r=internal-search Type of Triangle | HackerRank Query a triangle's type based on its side lengths. www.hackerrank.com 오늘은 삼각형 종류를 지정하는 쿼리로 CASE문 연습을 해보겠습니다. 문제를 보면 A,B,C라는 정수를 담은 컬럼이 있고 이 세 컬럼의 숫자들에 조건을 달아 삼각형의 종류를 지정해보라는 퀴즈입니다. ** 삼각형 종류 Equilateral(정삼각형): It's a triangle with sides of equal length. Isosceles(이등변삼각형): It's a ..
오늘은 실제 업무를 하면서 SQL를 활용할 때 가장 많이 사용하는 구문을 하나 포스팅 해보겠습니다. 저는 실제 스포츠 데이터를 기반으로 분석을 통해 가공 스탯을 만드는 일을 주로 하기 때문에 SQL에서도 연산과 조건문을 자주 사용하는데요. 그중에서 조건문으로 많이 활용하는 CASE...WHEN...THEN입니다. 형식은 아래와 같습니다. CASE WHEN 조건1 THEN 결과값1 WHEN 조건2 THEN 결과값2 WHEN 조건3 THEN 결과값3 ELSE 결과값 END 형식을 보면 알다시피 WHEN과 THEN은 항상 같이 사용됩니다. 그리고 WHEN과 THEN은 여러개를 사용할 수 있습니다. ELSE의 경우는 WHEN ...THEN...의 조건문에 모두 부합되지 않을 때 표출될 값입니다. 파이썬의 조건문..
SQL에서 group by와 함께 사용하는 집계함수에 대해 간단하게 알아보겠습니다. 위 표는 group by와 함께 사용되는 집계 함수입니다. 그렇다면 위의 것들 중에 예제로 간단하게 어떻게 노출되는지 확인해보겠습니다. 우선 평균을 구해보겠습니다. 지난 편에 이어 buytbl에서 전체 구매자가 구매한 물품의 개수를 구해보겠습니다. select avg(amount) as '평균 구매 개수' from buytbl; +----------------+ | 평균 구매 개수 | +----------------+ | 2.9167 | +----------------+ 이렇게 전체 평균 구매 개수를 구하는 걸 넘어 사용자별로 평균 구매 개수를 한번 내보겠습니다. select userid , avg(amount) as '..
SQL에는 파이썬 처럼 group by가 존재합니다. group by는 말그대로 그룹으로 묶어주는 역할을 합니다. 이를 통해서 그룹별로 수량이 어떻게 되는지 그리고 품목 남은 수량의 가격이나 구매자가 총 얼마를 결재 했는지에 대해 알 수 있습니다. 우선 buytbl에서 사용자별 구매한 물품 개수에 대해 알아보겠습니다. select userid, sum(amount) from buytbl group by userid; +--------+-------------+ | userid | sum(amount) | +--------+-------------+ | BBK | 19 | | EJW | 4 | | JYP | 1 | | KBS | 6 | | SSK | 5 | +--------+-------------+ 네 ..
이번에 간단하게 소개해볼 연산자는 LIKE 입니다. 가끔 where 조건을 적을 때 컬럼명은 기억이 나는데 조건으로 적을 데이터가 기억이 안날 때가 있습니다. 저같은 경우는 이름을 등록할 데이터베이스의 경우 성은 기억이 나는데 이름이 기억이 안 날때가 많더라고요. 이럴 때 LIKE 연산자를 사용하면 여러분의 기억을 찾는데 도움이 될 겁니다. ### LIKE select name,height from usertbl where name like '김%'; +--------+--------+ | name | height | +--------+--------+ | 김범수 | 173 | | 김경호 | 177 | +--------+--------+ 위 사용한 조건은 맨앞에 이름이 김이고 %는 뒤에 몇글자든 허용한다..
이번 시간에는 WHERE 절에 대해 알아보겠습니다. WHERE절은 조회하는 결과에 특정한 조건을 줘서 원하는 데이터만 보고 싶을 때 사용하는 구문입니다. 우선 지난 시간에 소개한 SQL의 기본적인 쿼리 구문을 다시 보겠습니다. ####SELECT 구문 기본 구조 SELECT 열 이름 FROM 테이블 이름 WHERE 조건 지난 시간에는 from까지 해봤는데 이번 시간에는 where 조건식에 대해 해보겠습니다. 저는 sqldb의 usertbl에 있는 데이터를 가지고 조건을 입혀 추출해볼건데요. 이름이 '김경호'인 사람의 데이터를 찾아보겠습니다. use sqldb; select * from usertbl where name = '김경호'; +--------+--------+-----------+------+-..
오늘은 본격적으로 My SQL 쿼리문에 대해 정리하기 전 기초적인 것들에 대해 알아보고자 합니다. My SQL에서 쿼리를 통해 데이터를 조회하거나 연산할 때 항상 SELECT로 시작하는데요. SELECT 문법과 그밖에 알아두면 좀 더 데이터를 조회하는 데 편해질 구문들에 대해 알아보겠습니다. 데이터를 조회하기 위해서는 기본적으로 내가 조회하고자 하는 데이터가 어떤 데이터베이스에 어떤 테이블에 있는지를 알아야 하는데요. 이럴 때 쓰는 구문이 "show~" 입니다. show databases; +--------------------+ | Database | +--------------------+ | employees | | information_schema | | mysql | | performance_s..
인덱스 맛보기에 이어 트리거 맛보기를 해보겠습니다. 트리거는 테이블에 부착되엇 테이블에 insert, update, delete 작업이 발생되면 실행되는 코드입니다. 쉽게 설명하면 '자동'으로 위와 같은 쿼리가 실행된다는 겁니다. 자세한 내용은 다음 시간에 다뤄보도록 하고 이번 시간은 맛보기로 해보겠습니다. 우선 shopdb에 있는 memeber_tbl에서 삭제된 데이터를 트리거 통해 삭제된 데이터를 담는 테이블에 넣어보려고 합니다. 그러면 우선 member_tbl에 삭제할 데이터를 입력해보도록하겠습니다. 그리고 삭제한 데이터를 담을 테이블까지 생성해보겠습니다. insert into shopdb.member_tbl values('figure','연아','경기도 군포시'); #데이터 변경 update sh..