
2차 평가가 있는 날이었는데 가볍게 풀고 만점~! 기분이 좋은 것과 별개로 계속해서 맥북 M1에서 오라클 디비를 실행하고 싶어서 마음이 다글다글이었음. 볼륨을 걸고 컨테이너 띄우기가 자꾸 에러가 나는 게 문제였는데, 해당 부분을 적극적으로 도와주시는 개발자 분과 블로그 댓글을 통해 결국 해결책을 찾았음. 짱짱 대단하신 분.. 누군가에게 에러에 대한 해결책을 문의할 수 있다는 것이 심적으로도 넘 도움이 됐음. 유용한 정보를 공유하는 것에 그치치 않고 질문을 남기는 모든 사람에게 피드백을 주고자 하시는 부분이 증맬 짱짱이라고 생각함.. 집요하게 해결방안 강구를 요청드린 덕분에..
???: 개발자 블로그에 닉넴 박제된 썰 푼다
ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 내 덕분에 이 글에 추가 해결책을 남길 수 있게 되었다고 언급해주셔서 감작 놀래버린.. 감사합니다 흡 빨리 따라해보러 가야지
day21에도 있는 내용이지만 분석 함수에 포함되므로 한 번 더 정리
하나의 결과값을 반환-- SELECT PRODUCT.*, SUM(PRICE) FROM PRODUCT;
SELECT SUM(PRICE) "합계" FROM PRODUCT;
SELECT AVG(PRICE) "평균" FROM PRODUCT;
SELECT MAX(PRICE) "최대" FROM PRODUCT;
SELECT MIN(PRICE) "최소" FROM PRODUCT;
SELECT COUNT(PRICE) "개수" FROM PRODUCT;
SELECT [GROUP BY 절에 지정된 컬럼] [GROUP BY별로 집계할 값]
FROM 테이블
GROUP BY [그룹으로 묶을 컬럼]
특정 조건을 추가하는 구문SELECT [GROUP BY 절에 지정된 컬럼] [GROUP BY별로 집계할 값]
FROM 테이블
GROUP BY [그룹으로 묶을 컬럼]
HAVING [그룹 성립 조건]
PARTITION BY 컬럼명ORDER BY 컬럼명 ASC/DESC-- Q. PRODUCT 상품 정보를 고가 순으로 순위 매기기
SELECT
PRODUCT.*,
-- RANK()OVER(가격 내림차순) 순위
RANK()OVER(ORDER BY PRICE DESC) 순위
FROM PRODUCT;
-- Q. 상품 종류별 가격 순위 매기기
SELECT
PRODUCT.*,
RANK() OVER(PARTITION BY TYPE ORDER BY PRICE DESC) 순위
FROM PRODUCT;
SELECT DISTINCT SUBJECT FROM EXAM WHERE STUDENT = '피카츄'
UNION
SELECT DISTINCT SUBJECT FROM EXAM WHERE STUDENT = '라이츄';
SELECT DISTINCT SUBJECT FROM EXAM WHERE STUDENT = '피카츄'
INTERSECT
SELECT DISTINCT SUBJECT FROM EXAM WHERE STUDENT = '라이츄';
SELECT DISTINCT SUBJECT FROM EXAM WHERE STUDENT = '피카츄'
MINUS
SELECT DISTINCT SUBJECT FROM EXAM WHERE STUDENT = '라이츄';
-- Q. PRODUCT 테이블의 상품 가격을 1200원으로 변경
UPDATE PRODUCT SET PRICE = 1200;
-- script: 10개 행 이(가) 업데이트되었습니다.
-- Q. PRODUCT 테이블 1번 상품 가격을 1500원으로 변경
UPDATE PRODUCT SET PRICE = 1500 WHERE NO = 1;
-- Q. 과자 가격 500원 할인
UPDATE PRODUCT SET PRICE = (PRICE - 500) WHERE TYPE = '과자';
-- Q. 아이스크림 가격 10% 인상
UPDATE PRODUCT SET PRICE = (PRICE * 1.1) WHERE TYPE = '아이스크림';
SELECT * FROM PRODUCT;
ROLLBACK;
-- DELETE [FROM] 테이블 [조건]
DELETE PRODUCT;
DELETE PRODUCT WHERE NO = 1;
DELETE PRODUCT WHERE NO = 12345;
ROLLBACK;
GRANT CREATE VIEW TO C\#\#ACADEMY;
SELECT * FROM EXAM;
-- '서술형' 데이터로만 무언가를 하고 싶다면 WHERE를 계속 추가해야 함
-- SELECT * FROM EXAM WHERE TYPE = '서술형';
CREATE VIEW ESSAY AS
SELECT * FROM EXAM WHERE TYPE = '서술형';
SELECT * FROM ESSAY;
SELECT * FROM ESSAY WHERE SCORE < 60;
CREATE OR REPLACE VIEWCREATE OR REPLACE VIEW ESSAY AS
SELECT * FROM EXAM WHERE TYPE = '문제해결시나리오';
-- EX. 연도/월/일별 상품 제조 개수
CREATE OR REPLACE VIEW STATUS AS
SELECT
EXTRACT(YEAR FROM MADE) 연,
EXTRACT(MONTH FROM MADE) 월,
COUNT(*) 개수
FROM PRODUCT
GROUP BY EXTRACT(YEAR FROM MADE), EXTRACT(MONTH FROM MADE)
ORDER BY 연, 월 ASC;
SELECT 연, 월, 개수 FROM STATUS;