할인율을 적용하는 쿼리는 상품의 가격에서 할인율을 계산하여 최종 가격을 결정하는 과정에 사용됩니다. 이러한 쿼리는 판매, 마케팅 프로모션, 재고 관리 등에 중요한 역할을 합니다. 다음은 할인율을 적용하는 다양한 SQL 쿼리 예제와 각 예제의 간단한 설명입니다.
예제 1: 모든 상품에 일괄적으로 할인율 적용SELECT ProductID, Price, Discount, Price - (Price * Discount / 100) AS DiscountedPrice FROM Products;
모든 상품에 대해 설정된 할인율을 적용하여 할인된 가격을 계산합니다.
예제 2: 특정 카테고리 상품에 할인율 적용
SELECT ProductID, Category, Price, Discount, Price - (Price * Discount / 100) AS DiscountedPrice FROM Products WHERE Category = 'Electronics';
'Electronics' 카테고리의 상품에 대해 할인율을 적용합니다.
예제 3: 할인율이 특정 값 이상인 상품 조회
SELECT ProductID, Price, Discount FROM Products WHERE Discount >= 20;
할인율이 20% 이상인 상품만 조회합니다.
예제 4: 최대 할인율 적용 상품 조회
SELECT ProductID, Price, Discount, Price - (Price * Discount / 100) AS DiscountedPrice FROM Products WHERE Discount = (SELECT MAX(Discount) FROM Products);
할인율이 가장 높은 상품의 할인 후 가격을 계산합니다.
예제 5: 특정 가격대 상품에 할인율 적용
SELECT ProductID, Price, Discount, Price - (Price * Discount / 100) AS DiscountedPrice FROM Products WHERE Price BETWEEN 100 AND 500;
가격이 100에서 500 사이인 상품에 대해 할인율을 적용합니다.
예제 6: 시간 기반 할인율 적용 (예: 세일 기간)
SELECT ProductID, Price, CASE WHEN CURRENT_DATE BETWEEN SaleStartDate AND SaleEndDate THEN Price - (Price * SaleDiscount / 100) ELSE Price END AS PriceAfterSale FROM Products;
세일 기간 동안에만 특정 할인율을 적용합니다.
예제 7: 고객별 할인율 적용
SELECT Orders.OrderID, Orders.TotalAmount, CustomerDiscounts.Discount, Orders.TotalAmount - (Orders.TotalAmount * CustomerDiscounts.Discount / 100) AS DiscountedTotal FROM Orders JOIN CustomerDiscounts ON Orders.CustomerID = CustomerDiscounts.CustomerID;
각 고객별로 설정된 할인율을 주문 총액에 적용합니다.
예제 8: 제품별 할인가 업데이트
UPDATE Products SET Price = Price - (Price * Discount / 100);
각 제품의 가격을 할인된 가격으로 업데이트합니다.
예제 9: 특정 조건을 만족하는 상품에 한정적 할인 적용
SELECT ProductID, Price, CASE WHEN Stock < 50 THEN Price - (Price * ClearanceDiscount / 100) ELSE Price END AS DiscountedPrice FROM Products;
재고가 50개 미만인 상품에 대해 클리어런스 할인을 적용합니다.
예제 10: VIP 고객을 위한 추가 할인 적용
SELECT Orders.OrderID, Orders.TotalAmount, VIPCustomers.ExtraDiscount, Orders.TotalAmount - (Orders.TotalAmount * VIPCustomers.ExtraDiscount / 100) AS DiscountedTotal FROM Orders JOIN VIPCustomers ON Orders.CustomerID = VIPCustomers.CustomerID;
VIP 고객의 주문에 추가 할인율을 적용합니다.
관련 전문용어 설명
할인율(Discount): 정가에서 줄어든 비율을 나타냅니다. 예를 들어, 할인율이 20%라면, 상품 가격의 20%가 할인됩니다.
할인가(Discounted Price): 할인율이 적용된 후의 상품 가격입니다.
VIP 고객(VIP Customers): 특별한 혜택을 받는 중요 고객 그룹입니다.
클리어런스 할인(Clearance Discount): 재고 정리를 목적으로 제공하는 할인입니다.
'SQL' 카테고리의 다른 글
고객 등급 조정: 고객 등급을 조정하는 쿼리. (0) | 2023.12.28 |
---|---|
매출 예측: 매출을 예측하는 쿼리. (0) | 2023.12.28 |
카테고리별 상품 수: 카테고리별 상품 수를 계산하는 쿼리. (0) | 2023.12.28 |
평균 주문 금액: 평균 주문 금액을 계산하는 쿼리. (0) | 2023.12.28 |
최근 주문 목록: 최근 주문 목록을 조회하는 쿼리. (0) | 2023.12.28 |