SET @변수이름 = 변수의 값;
변수는 계속 기억되지 않는다. 임시적.
변수를 넣는거랑 진짜 값을 넣는 거랑 똑같다
변수가 안쓰여진다. 문법적으로 지원이 안됨.
그럴때 PREPARE를 쓴다.
- PREPARE로 미리 실행하고 싶은 쿼리문 작성
- EXCUTE를 통해 실행.
- 물음표자리에 변수가 들어간다.
CAST(바꾸고 싶은 값 AS SIGNED)
CONVERT(바꾸고 싶은 값, SIGNED)
USE market_db;
SELECT *
FROM buy
INNER JOIN member
ON buy.mem_id = member.mem_id
WHERE buy.mem_id = 'GRL';
서로 다른 테이블에 같은 이름의 컬럼이 있기 때문에 SELECT 절에 테이블명.컬럼명
으로 써준다
SELECT M.mem_id, M.mem_name, B.prod_name, M.addr
FROM member M
LEFT OUTER JOIN buy B
ON M.mem_id = B.mem_id
ORDER BY M.mem_id;
SELECT *
FROM buy
CROSS JOIN member ;
SELECT A.emp "직원" , B.emp "직속상관", B.phone "직속상관연락처"
FROM emp_table A
INNER JOIN emp_table B
ON A.manager = B.emp
WHERE A.emp = '경리부장';
BEGIN
과 END
사이에 SQL문을 써준다. (이미지에서 네모친 부분)CALL
을 통해 호출SELECT debut_date INTO debutdDate
INTO
: debut_date를 조회한 값을 debutDate 라는 변수에 넣어라 CASE
WHEN (SUM(price*amount) >= 1500) THEN '최우수고객'
WHEN (SUM(price*amount) >= 1000) THEN '우수고객'
WHEN (SUM(price*amount) >= 1 ) THEN '일반고객'
ELSE '유령고객'
END "회원등급"
WHILE IF LEAVE
PREPARE
SQL을 실행하지는 않고, 준비만 해둔다.EXECUTE
준비한 SQL문을 실행한다.DEALLOCATE PREPARE
실행 후 문장을 해제p. 195의 확인 문제 4번 풀고 인증하기
SELECT DISTINCT M.mem_id, B.prod_name, M.mem_name, M.addr
FROM member M
LEFT OUTER JOIN buy b
ON M.mem_id = B.mem_id
___________________________
ORDER BY M.mem_id;
p. 183 [좀 더 알아보기] 손코딩 실행하고 결과화면 인증하기