반응형
-- 사용 테이블 예제

CREATE TABLE product_order(
	ID   INT AUTO_INCREMENT PRIMARY KEY,
	NAME VARCHAR(20),
	product VARCHAR(50),
	price INT
);


INSERT INTO product_order(name, product, price) VALUES('홍길동', 'TV', 5000);
INSERT INTO product_order(name, product, price) VALUES('홍길동', '핸드폰', 10000);
INSERT INTO product_order(name, product, price) VALUES('홍길순', '핸드폰', 10000);
INSERT INTO product_order(name, product, price) VALUES('김민지', '핸드폰', 10000);
INSERT INTO product_order(name, product, price) VALUES('홍길순', '컴퓨터', 2000);
INSERT INTO product_order(name, product, price) VALUES('김민수', '컴퓨터', 2000);
INSERT INTO product_order(name, product, price) VALUES('이민지', '생수', 500);
INSERT INTO product_order(name, product, price) VALUES('홍길동', '생수', 500);

 

📝CAST

  • CAST(변환시킬 값 AS (UN)SIGNED형변환 시킬 자료형)
SELECT CAST(AVG(price) AS INTEGER) AS '평균 구매금액' FROM product_order;

 

Document
평균 구매금액
5,000

 

📝CONVERT

  • CONVERT(변환시킬 값(UN)SIGNED 형변환 시킬 자료형)
SELECT CONVERT(AVG(price), INTEGER) AS '평균 구매금액' FROM product_order;

 

Document
평균 구매금액
5,000

 

📝IF

  • IF(수식, , 거짓)
SELECT  name, IF(price >= 5000, 'UP', 'DOWN') 
  FROM product_order
 GROUP BY name;

 

Document
name IF(price >=5000, 'UP', 'DOWN')
김민수 DOWN
김민지 UP
이민지 DOWN
홍길동 UP
홍길순 UP

 

 

📝IF NULL

  • IFNULL(수식1, NULL일 경우 반환 값)
SELECT IFNULL(NULL, 'true') AS is_null;

 

Document
is_null
true

 

📝CASE WHEN ELSE END

  • CASE... WHEN... ELSE... END
    • CASE에는 값이 들어가고 WHEN에는 각 해당 상황에 조건이 들어갑니다.
    • 조건이 맞으면 THEN을 실행합니다. 다 그렇지 않으면 ELSE를 실행합니다
    • CASE문이 다 끝나면 END를 마지막에 적어줘야합니다 

 

SELECT 
       name,
       CASE WHEN price = 500 THEN '생수입니다'
            WHEN price = 2000 THEN '컴퓨터입니다'
            WHEN price = 5000 THEN 'TV입니다'
            WHEN price = 10000 THEN '핸드폰입니다'
            ELSE '모르겠습니다'
       END AS '상품'
  FROM product_order;

 

Document
name 상품
홍길동 TV입니다
홍길동 핸드폰입니다
홍길순 핸드폰입니다
김민지 핸드폰입니다
홍길순 컴퓨터입니다
김민수 컴퓨터입니다
이민지 생수입니다
홍길동 생수입니다
반응형