본문 바로가기

DATABASE23

등수 함수 RANK, DENSE_RANK, ROW_NUMBER RANK() : 중복순위가 가능하며, 동점 다음의 등수는 동점수만큼 더해진 후 출력되게 된다. 형식) RANK() OVER(ORDER BY 정렬대상) DENSE_RANK() : 중복순위가 가능하며, 동점 다음의 등수는 바로 다음 등수로 출력되게 된다. 형식) DENSE_RANK() OVER(ORDER BY 정렬대상) ROW_NUMBER() : 중복순위가 불가능 하며, 동점시 먼저 등장한 것이 앞 등수가 되게 된다. 형식) ROW_NUMBER() OVER(ORDER BY 정렬대상) PARTITION : 컬럼별로 묶어서 등수를 매기고 싶을 때 사용한다. 형식) RANK() OVER(PARTITION BY 컬럼명 ORDER BY 정렬대상) DESC : 내림차순 ASC : 오름차순 (기본값) 이기 때문에 정렬방.. 2023. 11. 7.
Q. 년도별 고객 1인의 평균 구매액을 조회해보자 ! 필요한 데이터 : 연도정보 ➜ Orders 테이블에 OrderDate 데이터 고객 수 ➜ Orders 테이블에 CustomerNumber 데이터를 중복제거 (distinct) 와 집계함수 (count) 를 사용하여 가공 구매액 ➜ OrdersDetails 테이블에 PriceEach*QuantityOrdered 데이터 1인당 평균 구매 ➜ 연도별 총매출 / 연도별 총 고객수 조회방법 1. 필요한 데이터들이 들어있는 테이블 Orders 와 OrderDetails 를 join 해준다. 해석 classicmodels.orders 를 A라 칭하고 classicmodels.orderdetails 는 B라고 칭한다. A 테이블과 B 테이블을 left join 해줄 건데 이 때, orderNumber 가 같은 것끼리 .. 2023. 11. 7.
Q. 일자별, 월별, 년도별 매출액을 조회해보자 ! 필요한 데이터 : 주문일 ➜ Orders 테이블에 orderDate 데이터 판매액 (자동차별 금액 * 판매수량) ➜ Orderdetails 테이블에 PriceEach * Orderdetails 테이블에 QuantityOrdered 조회방법 1. 필요한 데이터들이 들어있는 Orders 와 Orderdetails 테이블을 조인한다. 해석 classicmodels.orders 를 A라 칭하고 classicmodels.orderdetails 는 B라고 칭한다. A 테이블과 B 테이블을 left join 해줄 건데 이 때, orderNumber 가 같은 것끼리 묶어서 join 해주게 된다. 이 join 한 데이터에서 orderDate 와 priceEach 와 quantityOrdered 데이터를 조회할 수 있다... 2023. 11. 6.
데이터베이스 classicmodels 안에 있는 테이블 & 속성 classicmodels diagram 2023. 11. 6.
SQL 언어 DDL ( 정의어 ) : table 자체를 다룬다. Create : table 생성 Alter : table 수정 Drop : table 자체를 삭제 Truncate : table은 유지하고 안에 있는 데이터를 '모두' 삭제 DML ( 조작어 ) : table 안에 있는 데이터를 다룬다. Select : table 안에 있는 데이터를 조회 Insert : table 안에 데이터를 삽입 Update : table 안에 있는 데이터를 수정 Delete : table 안에 있는 데이터를 삭제 (부분삭제) DCL ( 데이터 조작어 ) : Database 접근에 권한을 준다. grant : 특정 데이터베이스 사용자에게 특정 작업에 대한 수행 권한을 부여 revoke : 특정 데이터베이스 사용자에게 특정 작업에 대.. 2023. 10. 20.