Как создать виртуальный столбец с помощью MySQL SELECT?

Если я делаю SELECT a AS b, а b не является столбцом в таблице, будет ли запрос создавать «виртуальный» столбец?

на самом деле, мне нужно включить некоторый виртуальный столбец в запрос и обработать некоторую информацию в запросе, чтобы я мог использовать его с каждым элементом позже.

что-то вроде

SELECT id, email, IF(actived = 1, 'enabled', 'disabled') AS account_status FROM users 

это позволяет выполнять операции и показывать их как столбцы.

РЕДАКТИРОВАТЬ:

вы также можете использовать объединения и показывать операторы в виде столбцов:

  SELECT u.id, e.email, IF(c.id IS NULL, 'no selected', c.name) as country FROM users u LEFT JOIN countries c ON u.country_id = c.id 

Попробуйте это, если вы хотите создать виртуальный столбец «age» в выражении select:

 select brand, name, "10" as age from cars... 

Вы можете добавить виртуальные столбцы в виде

 SELECT '1' as temp 

Но если вы попытаетесь поместить условие для дополнительно созданного столбца, оно не будет работать и покажет сообщение об ошибке, поскольку столбец не существует.

Мы можем решить эту проблему, возвращая результат sql как table.ie,

 SELECT tb.* from (SELECT 1 as temp) as tb WHERE tb.temp = 1 

SELECT только извлекает данные из базы данных, он не меняет сама таблица.

Если вы пишете

 SELECT a AS b FROM x 

«b» – это просто псевдоним в запросе. Он не создает дополнительный столбец. Ваш результат в примере будет содержать только один столбец с именем «b». Но столбец в таблице останется «а». «b» – это просто другое имя.

Я не понимаю, что вы имеете в виду, «поэтому я могу использовать его с каждым элементом позже». Вы имеете в виду позже в заявлении select или позже в вашем приложении. Возможно, вы можете предоставить примерный код.

Ваш синтаксис создавал бы псевдоним для a как b, но у него не было бы рамки вне результатов инструкции. Похоже, вы можете создать ПРОСМОТР