728x90
use BaseballData;
--RDBMS(Realtional 관계형)
--데이터를 집합으로 간주한다.
--복수의 테이블을 다루는 방법
--커리어 평균 연봉이 3백만 이상인 선수들의 playerID
SELECT playerID, AVG(salary)
FROM salaries
GROUP BY playerID
HAVING AVG(salary) >= 3000000
-- 12월에 태어난 선수들의 playerID
SELECT playerID, birthMonth
FROM players
WHERE birthMonth = 12
-- [커리어 평균 연봉이 300000이상] 이거나 [12월에 태어난] 선수
--UNION (중복 제거) UNION ALL(중복 허용)
SELECT playerID
FROM salaries
GROUP BY playerID
HAVING AVG(salary) >= 3000000
UNION ALL
SELECT playerID
FROM players
WHERE birthMonth = 12
ORDER BY playerID
-- [커리어 평균 연봉이 300000이상] 이고 [12월에 태어난] 선수
-- INTERSECT
SELECT playerID
FROM salaries
GROUP BY playerID
HAVING AVG(salary) >= 3000000
INTERSECT
SELECT playerID
FROM players
WHERE birthMonth = 12
ORDER BY playerID
--[커리어 평균 연봉이 300000이상] 이지만 [12월에 태어난] 선수를 제외한다.
--EXCEPT
'공부 > 데이터베이스' 카테고리의 다른 글
TRANSACTION (0) | 2022.02.16 |
---|---|
JOIN (교차 결합) (0) | 2022.02.09 |
정규화 / INDEX (0) | 2022.02.07 |
데이터베이스 작성 (0) | 2022.01.27 |
서브 쿼리( SUBQUERY) (0) | 2022.01.26 |