반응형
-- 사용 테이블 예제
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);
📝SET
- SET@변수이름 = 값;
- 데이터베이스에서변수 선언은 이렇게 합니다.
SET @appleCount = 5;
SET @bananaCount = 15;
SELECT @appleCount AS appleCount;
SELECT @appleCount + @bananaCount AS total;
select *
from(SELECT @junho:=@junho+1 as wooram, A.* FROM mytable A, (SELECT @junho:=0) as R order by wooram desc) total
where wooram > 259 and wooram <= 268;
- select @junho:= 0
- a = 0과 등치
- @junho:=@junho+1
- a = a + 1과 등치
즉 := 은 대입을 의미한다.
📝PREPARE, EXECUTE
- PREPARE은 쿼리 이름을 만들고 FROM에쿼리에 들어갈 내용을 적습니다.
- PREPARE은 독자적으로 실행되진 않고 EXECUTE를 이용해야 실행이 됩니다.
- USING은 ?값을 대입해주기 위해서 적은 것입니다. ?가 없다면 굳이 안 적어도 됩니다.
SET @productName = "TV";
PREPARE productOrderQuery
FROM 'SELECT name, product, price FROM product_order WHERE product = ?';
EXECUTE productOrderQuery USING @productName;
name | product | price |
홍길동 | TV | 5000 |
반응형