❓ Question ❗ Answer SELECT ins.animal_id, ins.animal_type, ins.name FROM animal_ins ins LEFT OUTER JOIN animal_outs outs ON ins.animal_id = outs.animal_id WHERE (ins.sex_upon_intake LIKE '%Intact%') AND (outs.sex_upon_outcome LIKE '%Spayed%' OR outs.sex_upon_outcome LIKE '%Neutered%') ORDER BY ins.animal_id; 📌 Discussion join으로 동일한 key를 가진 데이터를 추출 후 WHERE 문에서 LIKE 조건으로 원하는 데이터를 필터링
❓ Question ❗ Answer SELECT ins.animal_id, ins.name FROM animal_ins ins LEFT OUTER JOIN animal_outs outs ON ins.animal_id = outs.animal_id ORDER BY outs.datetime - ins.datetime DESC LIMIT 2; 📌 Discussion - ORDER BY에서도 집계량 활용이 가능하다.
1. 오픽 노잼 IM 1) IM시리즈005 1. 심오한 답변을 하지 않아도 된다! 가볍고 웃긴 주제로도 충분히 얘기할 수 있다. - ex 방귀표현 1) let it rip / let one rip : I needed to let it rip. (or I let it rip) 2) cut cheese : I was at Starbucks and all of a sudden I had to cut cheese. 3) thunder from down under : I was at the bar with my friends the other day, and all of a sudden I felt a little thunder from down under. 4) silent but deadly : I cut c..
📌문제 출처 백준 단계별 문제풀이 - 그리디 알고리즘 https://www.acmicpc.net/problem/11399 ❓ 문제 ❗ 풀이 정렬 후 누적합 📗 풀이 코드 import sys input = sys.stdin.readline n = int(input()) # 빨리 인출하는 사람이 먼저 뽑고 나가야 뒤에서 덜 기다림 times = sorted(list(map(int,input().split()))) # 시간 순으로 정렬 waiting = [] # 재정렬한 순서대로 뽑았을 때 순서별 대기시간 tmp_time = 0 # 현재 사람의 대기시간 # 누적합 구하기 for time in times : tmp_time += time waiting.append(tmp_time) print(sum(waitin..
❓ Question ❗ Answer SELECT product.product_code 상품코드, SUM(product.price*sale.sales_amount) 매출액 FROM product product LEFT OUTER JOIN offline_sale sale ON product.product_id = sale.product_id WHERE sale.sales_amount IS NOT NULL GROUP BY product.product_code ORDER BY 매출액 DESC, 상품코드; 📌 Discussion GROUP BY 이후에 집계함수 활용 WHERE -> GROUP BY -> HAVING 순으로 작동
❓ Question ❗ Answer SELECT car_type, COUNT(*) 'CARS' FROM car_rental_company_car WHERE options LIKE '%시트%' GROUP BY car_type ORDER BY car_type; 📌 Discussion - 시트의 종류 세개 중에 하나만 포함되면 되므로 LIKE '%시트%'로 조건 지정
❓ Question ❗ Answer SELECT ins.animal_id, ins.name FROM animal_ins ins LEFT OUTER JOIN animal_outs outs ON ins.animal_id = outs.animal_id WHERE ins.datetime > outs.datetime ORDER BY ins.datetime; 📌 Discussion LEFT OUTER JOIN으로 JOIN 후에도 오른쪽 테이블의 값이 NULL인 레코드도 가져온다. WHERE로 JOIN 후 합쳐진 테이블에서 컬럼 데이터를 비교
❓ Question ❗ Answer SELECT ins.name, ins.datetime FROM animal_ins ins LEFT OUTER JOIN animal_outs outs ON ins.animal_id = outs.animal_id WHERE outs.datetime IS NULL ORDER BY ins.datetime LIMIT 3; 📌 Discussion LEFT OUTER JOIN으로 두 테이블을 결합하여 오른쪽 테이블이 NULL값인 레코드도 모두 불러옴 이 경우에 누락된 레코드가 적기에 WHERE절에서 추가 옵션을 줘서 레코드를 더 잘 활용할 수 있다. WHERE절에서 outs.datetim이 없는 레코드를 누락시킴 LIMIT 3로 상위 세가지 레코드만 추출