본문 바로가기

SQL

(7)
Programmers 우유와 요거트가 담긴 장바구니 https://programmers.co.kr/learn/courses/30/lessons/62284 코딩테스트 연습 - 우유와 요거트가 담긴 장바구니 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가 programmers.co.kr 데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다. 방법1. GROUP_CONCAT..
MySQL 날짜 관련 함수 - date_format, period_add, period_diff ... 1. DATE_FORMAT(date, format) - %a : Sun, Mon, ... 등 요일 약어 표시 - %b : Jan, ..., Dec 과 같은 달 이름 약어 표시 - %c : 1 ~ 12 사이의 월 표시 - %r : 12시간제 표시(HH:MM:SS AM or PM) 2. YEAR(date), QUARTER(date), MONTH(date), MONTHNAME(date), WEEK(date[,mode]) 순서대로 년도, 분기, 월, 월 이름, 요일 순서를 리턴함. 3. WEEKDAY(date), WEEKOFYEAR(date) 순서대로 요일순서, 년중 주의 순서를 리턴한다. 4. DAYOFYEAR(date), DAYOFMONTH(date), DAYOFWEEK(date) 년 중 날짜를 리턴, 월 ..
Programmers SQL 중성화 여부 파악하기 https://programmers.co.kr/learn/courses/30/lessons/59409 코딩테스트 연습 - 중성화 여부 파악하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성..
Programmers SQL 입양 시각 구하기(2) https://programmers.co.kr/learn/courses/30/lessons/59413 코딩테스트 연습 - 입양 시각 구하기(2) ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 programmers.co.kr 보호소에서는 몇 시에 입양이 가장 활발하게 일어나는지 알아보려 합니다. 0시부터 23시까지, 각 시간대별로 입양이 몇 건이나 발생했는지 조회하는 SQL문을 작성해주세요. 이때 결과는 시간대 순으로 정렬해야 합니다. ANIMAL_OUTS의 시간대는 0시, 1시 등..
MySQL 문법 - Union, Group by, Having, ... 1. UNION : 중복되지 않고, Customers와 Suppliers 테이블들에 있는 도시 값들을 리턴해줌. SELECT City FROM Customers UNION SELECT City FROM Suppliers ORDER BY City; 중복되는 값까지 모두 합쳐서 보여주고 싶다면, UNION ALL 을 대신 사용. 2. GROUP BY : - row 중 동일한 값을 가진 것들끼리 그룹지어줌. ex) 각 국가마다 중복되지 않는 고객의 수는 얼마인가? - COUNT, MAX, MIN, SUM, AVG 등의 statement와 함께 쓰인다. SELECT COUNT(DISTINCT CustomerID), Country FROM Customers GROUP BY Country; - JOIN과 함께 자주..
MySQL Join 문법정리 1. INNER JOIN : 두 테이블 모두에만 존재하는 값을 리턴 2. LEFT JOIN : 좌측 테이블의 모든 값과 우측 테이블과 일치하는 값을 리턴 3. RIGHT JOIN : 우측 테이블의 모든 값과 좌측 테이블과 일치하는 값을 리턴 4. CROSSJOIN : 두 테이블의 값을 모두 리턴 Example : (1) INNER JOIN SELECT column_name(s) FROM Table1 INNER JOIN table2 ON Table1.column_name = table2.column_name; SELECT Orders.OrderID, Customers.CustomerName FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers..
MySQL 기본 문법정리 MySQL 문법정리 : 1. SELECT : 데이터로부터 원하는 변수 선택 시 사용. 전체 열을 뽑고싶으면 사용 2. SELECT DISTINCT : 중복되지 않는 값을 뽑고싶을 때 사용. 중복되지 않는 값의 개수를 알고싶다면 COUNT(DISTINCT Country) 식으로 사용하면 됨. SELECT column1, column2, ... FROM Customers; SELECT DISTINCT country From Customers; 3. WHERE : 특정 조건을 만족하는 개체만 뽑을 때 사용. SELECT column1, column2, ... FROM Customers WHERE condition; SELECT * FROM Customers WHERE CustomerID ~보다 크다 WHERE..