분류 sql

Select Query에서 사용자 정의 변수

컨텐츠 정보

  • 조회 2,405 (작성일 )

본문

SQL에서 사용자 정의 변수라는 것을 살펴보겠습니다.

사용자 변수는 @var_name 처럼 쓰여집니다.

 

사용자 정의 변수를 설정하는 한가지 방법은 SET문을 이용하는 것입니다.

 

mysql> SET @t1=0, @t2=1, @t3=2; 

mysql> select @t1; 

위 Select의 결과는 '0'입니다.

 

mysql> select @t2; 

의 Select의 결과는 '1'입니다.

 

mysql> select @t3; 

의 Select의 결과는 '2'입니다.

 

SET이외 다른 문장안에서 사용자 변수에 값을 할당할 수 있습니다.

mysql> SET @t1=0, @t2=1, @t3=2;

 

mysql> SELECT @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;

 

사용자 정의 변수 사용의 또 다른 형태입니다.

mysql> SELECT @min_salary:=MIN(salary),@max_date:=MAX(start_date) FROM employee;

 

Where 조건절에서 사용자 정의 변수 사용 예입니다.

mysql> SELECT * FROM employee WHERE salary=@min_salary OR start_date=@max_date;

 

동적으로 SQL 명령문을 만드는 예입니다.

mysql> SET @c = "first_name";

mysql> SET @s = CONCAT("SELECT ", @c, " FROM employee");

mysql> PREPARE stmt FROM @s;

mysql> EXECUTE stmt;

mysql> DEALLOCATE PREPARE stmt;

sql