목록SQL (33)
데이터 놀이터
1. 문제 Write a query to print the hacker_id, 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 hacker_id. If more than one student created the same number of challenges and the count is less than the maximum number of chal..
1. 문제 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, ..
1. ERD이란? Entity Relationship Diagram, 즉 개체 관계 다이어그램을 뜻하며, 쉽게 말해서 개체인 테이블 간 관계를 그려놓은 다이어그램이라고 이해하면 쉽다. 2. ERD 구성요소 1) Entity (개체) 관리하고자 하는 정보의 실체로 테이블을 의미한다 2) Attribute (속성) 개체(테이블)를 구성하는 요소로, 컬럼, 데이터 타입, primary key, foreign key 등이 있다. 데이터 타입 숫자 정수 : int 실수 : decimal, double, float 문자 varchar(various character의 약자) char : 글자 수가 일정한 문자, 실제로 이런 경우는 드물어서 varchar를 주로 사용한다. 날짜, 시간 date : 날짜 datetim..
1. DML이란? Data Manipulation Language, 즉 데이터 조작어로 데이터베이스에 있는 데이터를 다루기 위한 명령어를 말한다. 2. DML 종류 1) SELECT 데이터베이스에 있는 데이터를 조회, 검색하기 위한 명령어 2) INSERT 데이터베이스에 데이터를 추가하는 명령어 - 모든 열에 데이터 추가 INSERT INTO 테이블명 VALUES (VALUE_LIST) - 열 지정하여 데이터 추가 (지정하지 않은 열에는 NULL 값 삽입) INSERT INTO 테이블명 (COLUMN_LIST) VALUES (VALUE_LIST) 3) UPDATE 데이터베이스의 데이터를 수정하는 명령어 - 열 전체 데이터 업데이트 UPDATE 테이블명 SET 컬럼 = 값 - 열 지정 데이터 업데이트 UP..
1. 문제 Given the table schemas below, write a query to print the company_code, founder name, total number of lead managers, total number of senior managers, total number of managers, and total number of employees. Order your output by ascending company_code. https://www.hackerrank.com/challenges/the-company/problem?isFullScreen=true 2. 문제 조건 write a query to print the company_code, founder name, ..
1. 문제 데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다. https://school.programmers.co.kr/learn/courses/30/lessons/62284 2. 문제 조건 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니 -> GROUP BY를 통해 한 장바구니 아이디 안에 품목 검색 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회 -> SELECT 장바구니의 아이디 순-> ORDER BY 3. 코드 작성 # SELECT DISTINCT(MILK.CART_ID) #..
1. 문제 보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 아이디 순으로 조회하는 SQL 문을 작성해주세요. https://school.programmers.co.kr/learn/courses/30/lessons/59045 2. 문제 조건 보호소에 들어올 당시에는 중성화되지 않았지만, 보호소를 나갈 당시에는 중성화된 -> JOIN할때 LEFT 또는 INNER 동물의 아이디와 생물 종, 이름 -> SELECT 아이디 순으로 조회하는 SQL 문을 작성-> ORDER BY 3. 코드 작성 /* 1. 보호소에 들어올 당시에는 중성화되지 않았지만(INS, Intact) 2. 보호소를 나갈 ..
1. 문제 USER_INFO 테이블과 ONLINE_SALE 테이블에서 2021년에 가입한 전체 회원들 중 상품을 구매한 회원수와 상품을 구매한 회원의 비율(=2021년에 가입한 회원 중 상품을 구매한 회원수 / 2021년에 가입한 전체 회원 수)을 년, 월 별로 출력하는 SQL문을 작성해주세요. 상품을 구매한 회원의 비율은 소수점 두번째자리에서 반올림하고, 전체 결과는 년을 기준으로 오름차순 정렬해주시고 년이 같다면 월을 기준으로 오름차순 정렬해주세요. https://school.programmers.co.kr/learn/courses/30/lessons/132204 2. 문제 조건 2021년에 가입한 전체 회원들 중 -> GROUP BY 전 조건이므로 WHERE 상품을 구매한 회원수와 상품을 구매한 회..
1. 문제 입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다. https://school.programmers.co.kr/learn/courses/30/lessons/131534 2. 문제 조건 입양을 간 동물 -> OUTS 테이블에 데이터가 존재해야 하므로 JOIN시 LEFT JOIN 활용 보호 기간이 가장 길었던 동물 두 마리 -> ORDER BY DESC 후에 LIMIT 2 아이디와 이름을 조회 -> SELECT 결과는 보호 기간이 긴 순으로 조회 -> ORDER BY 3. 코드 작성 /* 1. 입양을 간 동물 중 2. 보호 기간이 가장 길었던 동물 두 마리 3. 아이디와 이름 조회 4..
1. 문제 USED_GOODS_BOARD와 USED_GOODS_USER 테이블에서 중고 거래 게시물을 3건 이상 등록한 사용자의 사용자 ID, 닉네임, 전체주소, 전화번호를 조회하는 SQL문을 작성해주세요. 이때, 전체 주소는 시, 도로명 주소, 상세 주소가 함께 출력되도록 해주시고, 전화번호의 경우 xxx-xxxx-xxxx 같은 형태로 하이픈 문자열(-)을 삽입하여 출력해주세요. 결과는 회원 ID를 기준으로 내림차순 정렬해주세요. https://school.programmers.co.kr/learn/courses/30/lessons/164670 2. 문제 조건 중고 거래 게시물을 3건 이상 등록한 사용자 -> GROUP BY, HAVING 사용자 ID, 닉네임, 전체주소, 전화번호를 조회 -> SELE..