如果我执行SELECT a AS b并且b不是表中的列,是否会查询创建"虚拟"列?
实际上,我需要在查询中加入一些虚拟列并将一些信息处理到查询中,以便稍后我可以将它与每个项目一起使用.
就像是
SELECT id, email, IF(active = 1, 'enabled', 'disabled') AS account_status FROM users
这允许您进行操作并将其显示为列.
编辑:
你也可以使用连接和显示operaitons作为列:
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
如果要在select语句中创建虚拟列"age",请尝试使用此列:
select brand, name, "10" as age from cars...
您可以添加虚拟列
SELECT '1' as temp
但是,如果您尝试将where条件放在另外生成的列中,它将无法工作,并且将显示错误消息,因为该列不存在.
我们可以通过将sql结果作为table.ie返回来解决这个问题,
SELECT tb.* from (SELECT 1 as temp) as tb WHERE tb.temp = 1