![](https://velog.velcdn.com/images/spwwy3437/post/3a2da4bd-00bd-4224-b764-f9c3780975e5/image.png)
SET @변수이름 = 변수의 값; -- 변수의 선언 및 값 대입
SELECT @변수이름 ; -- 변순의 값 출력
SET @myVar = 5;
SET @myVar2 = 3.5;
SELECT @myVar + @myVar2;
CAST(), CONVERT() 함수를 가장 일반적으로 사용
데이터 형식 중에서 가능한 것은 BINARY, CHAR, DATE, DATETIME, ....UNSIGNED INTEGER
함수 사용법
형식 :
CAST (expression AS 데이터형식[(길이)]
CONVERT (expression , 데이터형식[(길이)]
-------
SELECT CAST(AVG(amount) AS SINGED INTEGER) AS '평균 구매 개수'
FROM buytbl;
SELECT CONVERT(AVG(amount), SINGED INTEGER) AS '평균 구매 개수'
FROM buytbl;
SELECT '100' + '200'; -- 문자와 문자를 더함(정수로 변환연산)
SELECT CONCAT('100','200'); -- 문자와 문자를 연결(문자로 처리)
SELECT CONCAT(100, '200'); -- 정수와 문자를 연결(정수가 문자로 변환처리)
SELECT 1 > '2mega'; -- 정수인 2로 변환되어서 비교
SELECT 0 = 'mega2'; -- 문자는 0으로 변환됨
#실행결과
300
100200
100200
0
1
CASE는 내장 함수는 아니며 연산자로 분류
다중 분기에 사용
SELECT CASE 10
WHEN 1 THEN '일';
WHEN 5 THEN '오';
WHEN 10 THEN '십';
ELSE '모름'
END AS 'CASE연습';
-------
CASE 뒤의 값이 10이므로 세 번째 WHEN이 수행되어 '십'이 반환
만약, 해당사항 없으면 ELSE문 반환
CONCAT : 문자열을 이어줌
CONCAT_WS : 구분자와 함께 문자열을 이어주는 역할
SELECT CONCAT_WS('/', '2025','01','01');
#결과
2025/01/01 반환
대개의 업무에서 조인은 이너조인 사용
일반적으로 JOIN이라고 하는 것은 이너조인임
SELECT <열 목록>
FROM <첫 번째 테이블>
INNER JOIN <두 번째 테이블>
ON <조인될 조건>
[WHERE 검색조건]
SELECT <열 목록>
FROM <철 번째 테이블(LEFT 테이블)>
<LEFT | RIGHT | FULL > OUTER JOIN <두 번째 테이블(RIGHT 테이블)>
ON <조인될 조건>
[WHERE 검색조건];
SELECT COUNT(*) AS '데이터 개수'
FROM employees
CROSS JOIN titles;
형식 :
IF <부울 표현식 > THEN
SQL문장1
ELSE
SQL문장2
END IF;
다른 언어의 WHILE과 동일 개념
참인 동안 반복되는 반복문
형식 :
WHILE <부울 식> DO
SQL 명령문들..
END WHILE;
ITERATE문을 만나면 WHILE문으로 이동해서 다시 비교 (CONTINUE와 동일 개념)
LEAVE문을 만나면 WHILE문 빠져나옴(BREAK 동일 개념)
CREATE PROCEDURE errorProc()
BEGIN
DECLARE CONTINUE HANDLER FOR 1146 SELECT '테이블 없음' AS '메시지';
SELECT * FROM noTable; -- noTable은 존재하지 않는 테이블
END
CALL errorProc();