일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- implement
- string
- Tree
- Method
- 구현
- Binary Tree
- Stack
- Data Structure
- hash table
- SQL
- bit manipulation
- two pointers
- 파이썬
- simulation
- database
- Counting
- Binary Search
- geometry
- 자바
- greedy
- Matrix
- array
- Math
- Class
- 코딩테스트
- dynamic programming
- sorting
- java
- Number Theory
- 코테
- Today
- Total
목록코딩테스트 풀이/SQL (31)
코린이의 소소한 공부노트
1. Input 1) Table: Employees (pk: (emp_id, event_day, in_time)) 2. Output 1) 날짜 별로 emp_id가 일한 시간을 출력 - 일한 시간: out_time - in_time - 출력 순서는 상관 없다. 3. Example 4. Code 1) 첫 코드(2023/04/17) select event_day as day, emp_id, total_time from ( select event_day, emp_id, sum(out_time-in_time) as total_time from Employees group by event_day, emp_id ) e;
1. Input 1) Table: DailySales (pk: 없음) 2. Output 1) 각 날짜와 이름별로 lead_id와 partner_id의 수를 센 결과를 출력 - 중복은 세지 않는다. - 출력 순서는 상관 없다. 3. Example 4. Code 1) 첫 코드(2023/04/15) select a.date_id, a.make_name, a.unique_leads, b.unique_partners from (select date_id, make_name, count(distinct lead_id) as unique_leads from DailySales group by date_id, make_name) a, (select date_id, make_name, count(distinct part..
1. Input 1) Table: Tweets (pk: tweet_id) 2. Output 1) content의 길이가 15보다 큰 것의 tweet_id를 출력 - 출력 순서는 상관 없다. 3. Example 4. Code 1) 첫 코드(2023/04/15) select tweet_id from( select tweet_id, length(content) as len from Tweets ) a where len>15; 2) where절을 서브 쿼리로 넣어본 코드(2023/04/15) select tweet_id from( select tweet_id, length(content) from Tweets where length(content)>15 ) a; 3) where절로 서브 쿼리를 옮겨본 코드(20..
1. Input 1) Table: Employees (pk: id) 2) Table: EmployeeUNI (pk: (id, unique_id)) 2. Output 1) unique_id와 이름을 출력한다. - unique_id가 없을 경우 null을 출력한다. - 출력 순서는 상관 없다. 3. Example 4. Code 1) 첫 코드(2023/04/11) select u.unique_id, e.name from Employees e left outer join EmployeeUNI u on e.id = u.id
1. Input 1) Table: Views (pk = 없음) 2. Output 1) 자신의 글을 한번 이상 본 모든 작가들의 id를 출력 - id는 오름차순으로 정렬한다. 3. Example 4. Code 1) 첫 코드(2023/04/06) select author_id as id from ( select author_id from Views where author_id = viewer_id group by author_id ) a order by id;
1. Input 1) Table: Sales (pk = (sale_id, year)) 2) Table: Product (pk = product_id) 2. Output 1) Sales에 있는 판매 목록마다 제품 이름, 연도, 가격을 출력 - 출력 순서는 상관없다. 3. Example 4. Code 1) 첫 코드(2023/04/04) select p.product_name, s.year, s.price from Sales s, Product p where s.product_id=p.product_id
1. Input 1) Table: ActorDirector (pk = timestamp) 2. Output 1) 최소 3번 이상 협업한 배우와 감독의 아이디를 출력 - 순서는 상관 없다. 3. Example 4. Code 1) 첫 코드(2023/04/04) select actor_id, director_id from ( select actor_id, director_id, count(*) cnt from ActorDirector group by actor_id, director_id ) a where cnt>=3; - 너무너무 느림 2) having절을 이용해본 코드(2023/04/04) select actor_id, director_id from ActorDirector group by actor_id..
1. Input 1) Table: Project (pk = (project_id, employee_id)) 2) Table: Employee (pk = employee_id) 2. Output 1) 각 프로젝트별로 참여하는 모든 직원들의 평균 경력을 소수점 2자리까지 출력하기 - 순서는 상관 없다. 3. Example 4. Code 1) 첫 코드(2023/04/04) select project_id, round(avg(experience_years),2) as average_years from Project p, Employee e where p.employee_id=e.employee_id group by project_id;
1. Input 1) Table: Followers (pk: (user_id, follower_id)) 2. Output 1) 각 유저별로 팔로워 수를 출력 - user_id 오름차순으로 출력한다. 3. Example 4. Code 1) 첫 코드(2023/03/29) select user_id, count(follower_id) as followers_count from Followers group by user_id order by user_id;
1. Input 1) Table: Users (pk: account) 2) Table: Transactions (pk: trans_id) 2. Output 1) 모든 거래가 끝난 후 계좌 잔액이 만원 초과인 사람의 이름과 잔액을 출력 - 모든 계좌는 0원부터 시작한다. - 출력 순서는 상관없다. 3. Example 4. Code 1) 첫 코드(2023/03/29) select name, balance from Users u, ( select account, sum(amount) as balance from Transactions group by account ) t where u.account=t.account and balance>10000;