일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- sorting
- dynamic programming
- database
- Math
- Method
- string
- bit manipulation
- two pointers
- hash table
- 자바
- Counting
- Tree
- Binary Tree
- greedy
- Binary Search
- SQL
- Number Theory
- geometry
- implement
- Class
- 구현
- 코딩테스트
- 코테
- 파이썬
- Matrix
- simulation
- Data Structure
- array
- Stack
- Today
- Total
목록SQL (39)
코린이의 소소한 공부노트
1. Input 1) Table: Products (pk: product_id) 2) Table: Orders (no pk) 2. Output 1) 상품들 중 2020년 2월에 최소 100개 이상 팔린 제품의 이름과 그 양을 출력 - 출력 순서는 상관 없다. 3. Example 4. Code 1) 첫 코드(2023/06/11) select p.product_name, o.unit from Products p, ( select product_id, sum(unit) as unit from Orders where order_date between '2020-02-01' and '2020-02-29' group by product_id ) o where p.product_id = o.product_id and..
1. Input 1) Table: Activity (pk: 없음) 2. Output 1) 2019년 7월 27일까지의 30일동안 각 날짜마다 액티비티를 즐긴 사람들의 수를 출력 - 출력 순서는 상관 없다. 3. Example 4. Code 1) 첫 코드(2023/06/08) select activity_date as day, count(user_id) as active_users from ( select user_id , activity_date from Activity where activity_date between '2019-06-28' and '2019-07-27' group by user_id, activity_date ) a group by day; - 33%
1. Input 1) Table: Salary (pk: id) 2. Output 1) 직원들의 성별을 바꾼 결과를 출력 - f는 m으로, m은 f로 - update는 1번만 사용 - select문 사용 금지 3. Example 4. Code 1) 첫 코드(2023/05/25) update Salary set sex= if(sex='m', 'f', 'm'); 2) 다른 사람의 코드 중 다소 신박했다고 생각한 코드(2023/05/25) UPDATE Salary SET sex = CHAR(ASCII('f') + ASCII('m') - ASCII(sex))
1. Input 1) Table: MyNumbers (pk: 없음) 2. Output 1) table에 딱 1번만 나타나는 숫자 중 가장 큰 값을 출력 2) 만약 그런 값이 없다면 null을 출력 - 출력 순서는 상관 없다. 3. Example 4. Code 1) 첫 코드(2023/05/25) select ifnull(max(num), null) as num from( select num, count(*) as c from MyNumbers group by num ) a where c=1;
1. Input 1) Table: Activity (pk: (player_id, event_date)) 2. Output 1) 각 플레이어별로 게임에 처음 로그인 한 날짜를 출력 - 출력 순서는 상관 없다. 3. Example 4. Code 1) 첫 코드(2023/05/23) select player_id, min(event_date) as first_login from Activity group by player_id;
1. Input 1) Table: Teacher (pk: (subject_id, dept_id)) 2. Output 1) 각 선생님 별로 가르치는 과목 수를 반환 - 출력 순서는 상관 없다. - 과목 수를 셀 때 중복은 제외한다. 3. Example 4. Code 1) 첫 코드(2023/05/02) select teacher_id, count(distinct subject_id) as cnt from Teacher group by teacher_id;
1. Input 1) Table: Employees (pk: employee_id) 2. Output 1) 월급이 3만달러 미만이면서 매니저가 회사에 없는 직원의 id를 출력 - id를 기준으로 오름차순 정렬 후 출력한다. 3. Example 4. Code 1) 첫 코드(2023/04/24) select employee_id from Employees where salary
1. Input 1) Table: Logins (pk: (user_id, time_stamp)) 2. Output 1) 각 유저별로 2020년 마지막 로그인 날짜를 출력 - 출력 순서는 상관없다. - 2020년이 아닌 날짜는 출력하지 않는다. 3. Example 4. Code 1) 첫 코드(2023/04/24) select user_id, max(time_stamp) as last_stamp from( select * from Logins where year(time_stamp)=2020 ) a group by user_id;
1. Input 1) Table: Employees (pk: employee_id) 2. Output 1) 각 id에 대하여 받는 보너스를 출력 - 보너스는 연봉의 100%이다. - 보너스를 받는 조건은 id가 홀수이면서 이름이 M으로 시작하지 않아야 한다. - 보너스를 받지 못하면 보너스에 0을 출력 - id를 기준으로 오름차순으로 정렬한다. 3. Example 4. Code 1) 첫 코드(2023/04/22) select employee_id, case when mod(employee_id,2)=1 and name not like 'M%' then salary else 0 end as bonus from Employees order by employee_id;
1. Input 1) Table: Products (pk: product_id) - low_fats = ('Y', 'N'): 저지방이면 Y - recyclable = ('Y', 'N'): 재활용 가능하면 Y 2. Output 1) 저지방이고 재활용 가능한 상품의 id를 출력 - 출력 순서는 상관 없다. 3. Example 4. Code 1) 첫 코드(2023/04/17) select product_id from ( select product_id, low_fats from Products where recyclable='Y' ) p where low_fats='Y'; 2) 서브 쿼리를 없애본 코드(2023/04/17) select product_id from Products where low_fats='..