-- 문제 1 : 모든 부서의 관리자와 직원들의 상세 정보를 반환하라. -- 각 행에는 emp_no, name, role(manager 또는 employee), department_name, salary를 포함해야 한다.(SELECT e.emp_no, CONCAT(e.first_name, ' ', e.last_name) AS name, 'manager' AS role, d.dept_name, s.salary FROM dept_manager dm JOIN employees e ON dm.emp_no = e.emp_no JOIN departments d ON dm.dept_no = d.dept_no JOIN salaries s ON e.emp_no = s.emp_no WHERE s.to_date = '999..
-- 문제 1 : 각 대륙에서 평균 수명이 가장 높은 국가의 이름과 그 평균 수명 (서브쿼리 사용)SELECT Continent, Name, LifeExpectancyFROM countryWHERE (Continent , LifeExpectancy) IN ( SELECT Continent, MAX(LifeExpectancy) FROM country GROUP BY Continent);-- 문제 2 : 각 대륙에서 평균 수명이 가장 높은 국가의 이름과 그 평균 수명 (서브쿼리 사용 x)SELECT c1.Continent, c1.Name, c1.LifeExpectancyFROM country c1LEFT JOIN country c2 ON c1.Continent = c2.Continent AND c1.L..
-- 문제 1 : 가장 인구가 많은 도시의 국가 이름과 해당 도시의 인구 (중첩 쿼리 사용)SELECT c.Name as country, ci.Name as cityFROM city ci JOIN country c ON ci.CountryCode = c.CodeWHERE ci.Population = (SELECT MAX(Population) FROM city); -- 문제 2 : 영어가 공식 언어인 모든 국가의 평균 수명과 인구의 합계SELECT AVG(c.LifeExpectancy) AS 평균수명, SUM(c.Population) AS total_인구FROM country c ..
-- 문제 1 : 2006년에 가장 많은 영화를 대여한 고객의 이름과 대여한 영화 수를 구하세요.SELECT c.first_name, c.last_name, COUNT(r.rental_id) AS rental_countFROM rental r JOIN customer c ON r.customer_id = c.customer_idWHERE YEAR(r.rental_date) = '2006'GROUP BY r.customer_idORDER BY rental_count DESCLIMIT 1;-- 문제 2 : 각 영화 카테고리별로 평균 대여 횟수를 계산하여 출력하세요.SELECT c.name, AVG(rental_count) AS avg_rental_coun..
-- 문제 1. 2000년 이후에 입사한 직원들 중 각 부서별 평균 연봉이 가장 높은 부서의 이름과 평균 연봉을 구하세요. (use employees)SELECT d.dept_name, AVG(s.salary) AS avg_salaryFROM employees eJOIN dept_emp de ON e.emp_no = de.emp_noJOIN departments d ON de.dept_no = d.dept_noJOIN salaries s ON e.emp_no = s.emp_noWHERE e.hire_date >= '2000-01-01'AND de.to_date = '9999-01-01'AND s.to_date = '9999-01-01'GROUP BY d.dept_noORDER BY avg_salary D..
-- 문제 1: 각 고객이 대여한 영화 수를 조회하고, 가장 많은 영화를 대여한 고객의 이름을 조회하세요.SELECT c.first_name, c.last_name, COUNT(r.customer_id) AS countFROM rental AS rJOIN customer AS c ON r.customer_id = c.customer_idGROUP BY r.customer_idORDER BY count DESCLIMIT 1;-- 문제 2: 대여된 영화의 총 수를 계산하세요.SELECT COUNT(rental_id) AS totalFROM rental;-- 문제 3: 직원별 매출 내림차순으로SELECT s.first_name, s.last_name, SUM(p.amount) AS total_revenueFR..