본문 바로가기

SQL

할인율 적용: 할인율을 적용하는 쿼리.

반응형

할인율을 적용하는 쿼리는 상품의 가격에서 할인율을 계산하여 최종 가격을 결정하는 과정에 사용됩니다. 이러한 쿼리는 판매, 마케팅 프로모션, 재고 관리 등에 중요한 역할을 합니다. 다음은 할인율을 적용하는 다양한 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): 재고 정리를 목적으로 제공하는 할인입니다.

반응형