awilum.ru
Статьи Курсы Об авторе

Переменные

Курсы / SQL Базовый уровень / Основы

В SQL переменная — это именованное хранилище данных.

Переменные используются для хранения данных и результатов вычислений.

Названия переменных начинаются с символа @, после которого могут использоваться буквы латинского алфавита, цифры и знаки $, _.

Переменные не чувствительны к регистру. Это означает, что @year и @YEAR то же самое.

Далее будут рассмотрены примеры работы с пользовательскимипеременными в SQL на примере MySQL.


Таблица movies

id title release_year genre rating
1 The Shawshank Redemption 1994 Drama 9
2 The Godfather 1972 Crime 9
3 The Godfather: Part II 1974 Crime 9
4 The Dark Knight 2008 Action 9
5 12 Angry Men 1957 Drama 8
6 Schindlers List 1993 Biography 8
7 Pulp Fiction 1994 Crime 8
8 The Lord of the Rings: The Return of the King 2003 Adventure 8
9 Fight Club 1999 Drama 8
10 The Good, the Bad and the Ugly 1966 Western 8

Есть два способа создать переменную и присвоить ей значение.


Первый способ

Синтаксис создания переменной с присвоением выглядит так:

SET @variable_name := value;

Начинаем с ключевого слова SET, далее после символа @ указываем название переменной и присваиваем ей значение после оператора :=

Например, если мы хотим выбрать фильмы, которые были выпущены в 1994 году, мы можем использовать следующий запрос:

SET @year := 1994;

SELECT title
  FROM movies
 WHERE release_year = @year;

Результат

title
The Shawshank Redemption
Pulp Fiction


Например, если мы хотим выбрать фильмы, которые выпущены между 1994 и 2000 годом, мы можем использовать следующий запрос:

SET @year := 1994;

SELECT title
  FROM movies
 WHERE release_year = @year;

Обратите внимание на то что объявление переменных (с присваиванием) можно записывать через запятую после ключевого слова SET

Результат

title
The Shawshank Redemption
Pulp Fiction
Fight Club
The Matrix


Например, если мы хотим выбрать фильмы, заголовок которых начинается с "The", мы можем использовать следующий запрос:

SET @search := 'The%';

SELECT title
  FROM movies
 WHERE title LIKE @search;

Результат

title
The Shawshank Redemption
The Godfather
The Godfather: Part II
The Dark Knight
The Lord of the Rings: The Return of the King
The Good, the Bad and the Ugly
The Matrix


Второй способ

Синтаксис создания переменной с присвоением выглядит так:

SELECT @variable_name := value;

Начинаем с ключевого слова SELECT, далее после символа @ указываем имя переменной и присваиваем ей значение после оператора :=

После назначения вы можете использовать переменную в последующем операторе, где выражение разрешено, например, в  предложении WHERE, операторе INSERT или UPDATE.

Например:

SELECT @max_year := MAX(release_year)
  FROM movies;

SELECT title
  FROM movies
 WHERE release_year = @max_year;

Результат

title
The Dark Knight
Комментарии Псевдонимы
Записаться на курс