精华内容
下载资源
问答
  • select别名
    2021-01-19 23:27:46

    select column1+10 as c1,c1+10 as c2 from table1;

    想实现上面的效果,结果在mysql里面报错了,提示找不到c1这个列;

    -- 不同的 数据库不一样

    一般不支持在select中继续使用别名 或者where语句中使用

    如果是在要用 可以尝试是否支持:

    select column1+10 as c1,(select c1)+10 as c2 from table1;

    但是在orderby groupby 可以使用

    ---一些解释参考

    https://stackoverflow.com/questions/16715504/mysql-define-a-variable-within-select-and-use-it-within-the-same-select/16715618#16715618

    https://stackoverflow.com/questions/6081436/how-to-use-alias-as-field-in-mysql

    mysql中的SQL语句执行是有一定顺序的,如下:

    1. from

    2. on

    3. join

    4. where

    5. group by

    6. with

    7. having

    8. select

    9. distinct

    10. order by

    11. limit

    一条SQL会经过这11步的,中间的每一步都会生成一张虚拟表,后面的步骤都是在上一张虚拟表中进行筛选与查询的,下面假设,经过了7步也就是经过了having这一步,生成的虚拟表假设为:

    id column1 column2 alias(having后的别名)

    1 10 10 aaa

    2 20 20 bbb

    现在到了SELECT这一步的时候,你的查询字段为 column1+10 as c1, 那么sql解析器在这个虚拟表中可以找到column1这个字段,那么计算和设置别名成功, 现在你要c1+10,它发现这个虚拟表中不存在这个字段,那么就会报错,如果你想这样做:alias as xxx, 那么也不会报错,因为having筛选过后,这个别名字段已经在虚拟表中了,所以其实道理很简单,select的执行顺序是排在第8步的,而select是针对以上几步生成的虚拟表进行操作的,所以你所要使用的字段,如果虚拟表中不存在,那么则会报错,如果楼主的那句SQL硬要执行的话,也只能改成select column1+10 as c1,column1+10+10 as c2 from table1;

    原文:http://www.cnblogs.com/clphp/p/7815160.html

    更多相关内容
  • DQL数据查询 (Data Qurery LANGUAGE:数据查询语言) 所有的查询操作都用它,Select 简单的查询,复杂的查询他都可以做 ...-- 别名,给结果取一个名字,AS 可以给字段起别名,也可以给表起别名 2 SELECT

    DQL数据查询
    (Data Qurery LANGUAGE:数据查询语言)

    • 所有的查询操作都用它,Select
    • 简单的查询,复杂的查询他都可以做
    • 数据中最核心的语言
    • 使用频率最高的语句
     -- 查询全部的学生, 
    SELECT * FROM student
    
    SELECT * FROM result
    
    -- 查询指定字段
    SELECT `StudentName`,`StudentNo` FROM student
    
    -- 别名,给结果取一个名字,AS 可以给字段起别名,也可以给表起别名 2
    SELECT `StudentName` AS 学生姓名,`StudentNo` AS 学生学号 FROM student
    
    -- 函数 Concat 连接 3
    SELECT CONCAT('姓名:', `StudentName`) AS 新名字 FROM student
    

    在这里插入图片描述
    3.
    在这里插入图片描述

    展开全文
  • 您不能在SELECT中直接使用别名。而是使用用户定义的变量。以下是语法。在这里,@yourAliasName是我们的变量和别名-select@yourAliasName:=curdate()asanyAliasName,concat(‘yourValue.',yourColumnName,'yourValue'...

    您不能在SELECT中直接使用别名。而是使用用户定义的变量。以下是语法。在这里,@yourAliasName是我们的变量和别名-select @yourAliasName :=curdate() as anyAliasName,concat(‘yourValue.',yourColumnName,' yourValue',@yourAliasName) as anyAliasName from yourTableName;

    让我们首先创建一个表-mysql> create table DemoTable

    (

    Name varchar(40)

    );

    使用插入命令在表中插入一些记录-mysql> insert into DemoTable values('John Smith');

    mysql> insert into DemoTable values('Chris Brown');

    mysql> insert into DemoTable values('David Miller');

    mysql> insert into DemoTable values('John Doe');

    使用select语句显示表中的所有记录-mysql> select *from DemoTable;

    这将产生以下输出-+--------------+

    | Name         |

    +--------------+

    | John Smith   |

    | Chris Brown  |

    | David Miller |

    | John Doe     |

    +--------------+

    4 rows in set (0.00 sec)

    以下是在同一SQL语句中使用别名值的查询-mysql> select @todayDate :=curdate() as todayDate,concat('Mr.',Name,' The current Date is=',@todayDate) as Result from DemoTable;

    这将产生以下输出-+------------+------------------------------------------------+

    | todayDate  | Result                                         |

    +------------+------------------------------------------------+

    | 2019-09-08 | Mr.John Smith The current Date is=2019-09-08   |

    | 2019-09-08 | Mr.Chris Brown The current Date is=2019-09-08  |

    | 2019-09-08 | Mr.David Miller The current Date is=2019-09-08 |

    | 2019-09-08 | Mr.John Doe The current Date is=2019-09-08     |

    +------------+------------------------------------------------+

    4 rows in set (0.00 sec)

    展开全文
  • SAP ABAP 有些数据库表的...此时编写 ABAP 代码对这个数据库表进行访问的开发人员,可以用 AS,将这些数据库表的字段,定义成更容易懂的别名。 看下面这段代码: SELECT SINGLE spld AS printer, spdb AS output_immedi

    SAP ABAP 有些数据库表的字段名称,对于初学者来说不太友好,例如 USR01 表中的打印参数 SPLD, SPLG, SPDB, SPDA 等等。

    如果直接应用在 OPEN SQL 里,不熟悉这个数据库表的阅读者,可能会感到有点费解。

    此时编写 ABAP 代码对这个数据库表进行访问的开发人员,可以用 AS,将这些数据库表的字段,定义成更容易懂的别名。

    看下面这段代码:

    SELECT SINGLE spld AS printer,
                  spdb AS output_immediately,
                  spda AS delete_from_spool
           INTO @DATA(user_print_settings)
           FROM usr01
           WHERE bname = @sy-uname.
    
    BREAK-POINT.
    

    上图给 SPLD 字段定义了别名 PRINTER, SPDB 定义了别名 OUTPUT_IMMEDIATELT, SPDB 定义成了 DELETE_FROM_SPOOL, 这样这段代码即使不写注释,也已经达到自描述的效果了:

    展开全文
  • 数据库之select时取别名

    万次阅读 2018-07-28 13:00:51
    select 列名 as 列别名,//方法1 列名 列别名,//方法2 from 表名; 这两种取别名方法是所有数据库通用的   取了别名后返回的字段是如何的? 如果你在写应用的时候,把取到的东西放在了Map中,那么你的获取...
  • select s_username as username from userinfo 结果别名没生效,查询结果还是s_username,而不是username 解决办法: jdbc 5.1.x版本驱动,请在数据库连接url指定 useOldAliasMetadataBehavior=true 即可 如:jdbc:...
  • 给查询的字段起别名【AS】如果起的别名里面有空格怎么办列参可直接数学运算 Java(打卡第六十四天) MySQL数据库 博文不是每天都在发送,但是学习是每天都在进行的,因为不想为写而学,而是为学而写 昨天已经进
  • SQL,select的字段如何取别名

    万次阅读 2018-06-15 11:13:11
    SQL如何取别名 access 多表查询有重复的字段,而且要前台绑定,怎么办?access用 列表+空格+别名可不行! 要这样:SELECT product.id as productId,
  • Oracle中select使用别名

    2016-05-19 10:14:00
    1 、将字段用as转换成别名。 2 、直接在字段的名字后面跟别名。 3 、在字段后面用双引号引起的别名。   我的朋友 大鬼不动 最近访客 fhwlj kochiyas 大極星 Alz__ ...
  • mysql select字段别名 不可以在select 或者where中使用 但是group by 与order by可以使用
  • 今天写SQL语句的时候碰到一个问题,select后面子查询别名失效问题. 这是我一开始写的一个代码: SELECT sum( IFNULL( money, 0 ) ) money, salesman_id FROM ( SELECT salesman_id, ( SELECT r.money ...
  • MYSQL,在 having 语句可以直接使用 select 语句里起的别名
  • mysql中where后为什么不能使用select中定义的别名: 因为mysql中sql语句的书写顺序与执行顺序不同 sql书写顺序:select 查询内容 from 表 where 查询条件 sql执行顺序: from 表 where 查询条件 select 查询...
  • 转载:...按理说是不能在 having condition 中使用 select list 中的 alias。 … 但是 MySQL 对此作了扩展。 在 MySQL5.7.5 之前的版本,ONLY_FULL_G...
  • 查询test_2表id=1的 使用update将test_2的id=1的name更新到test_1的id=2的name字段中 3、select使用别名 SELECT t1.id AS t1_id, t2.id AS t2_id, t1.`name` AS t1_name, t2.NAME AS t2_name FROM test_1 t1 LEFT ...
  • SQLite中的SELECT子句使用别名

    千次阅读 2018-04-17 10:33:56
    SQLite中的SELECT子句使用别名开发者可以使用AS关键字为指定的列名提供一个新的别名,其语法形式如下SELECT column_name AS Alias [,…]例如,下面的SQL语句为Name列设置了一个别名StudentName。SELECT id,Name AS ...
  • 一,情景 当实体类中的字段与表中的字段不匹配时(不符合驼峰等),需要使用as来定义别名
  • sql server中select语句中取列别名

    千次阅读 2016-04-26 08:58:20
    select列的时候取别名有三种方法,这三种方法并不是所有数据库都适用。 方法一、直接在字段名称后面加上别名,中间以空格隔开。 方法二、以as关键字指定字段别名,as在select的字段和别名之间。 方法三、...
  • 【sql小坑】在group by里用select字段的别名? 背景 -- 求每个用户的拥有的产品数,其中userid需要简单split出来 SELECT split (id, '-') [ 0 ] AS userid, count(DISTINCT productid) AS productid...
  • SQL select的字段取别名

    千次阅读 2016-07-19 10:21:53
    select 列的时候取别名有三种方法,这三种方法并不是所有数据库都适用的。 方法一: 直接在字段名称后面加上别名,中间以空格隔开。 方法二: 以as关键字指定字段别名。 方法三: 对于SQL server还提供了另外...
  • spark dataframe的selectselectexpr的区别

    千次阅读 2020-07-22 16:24:10
    spark dataframe的selectselectexpr的区别 select是把要遍历的集合ienumerable逐一遍历,每次返回一个t,合并之后直接返回一个ienumerable,而selectmany则把原有的集合ienumerable每个元素遍历一遍,每次返回一个...
  • select,from等关键字执行顺序 参考相关链接原创 SQL 查询的执行顺序是怎样的? 按常规如下: 我们平常写的顺序是这样的: 1. SELECT 2. DISTINCT <select_list> 3. FROM <left_table> 4. <join_...
  • yii中select字段时用别名的设置方法

    千次阅读 2015-06-19 11:06:05
    为了避免不必要的链接跳转扰乱我等的心绪,所以我无耻的把文章Copy过来,望佛主原谅~ 在用yii中的ar做数据查询的...$criteria->select = 'title, count(id) as rowNum'; $criteria->group = 'title'; $criteria->order
  • 执行顺序,先执行FROM 子句,然后执行WHERE 子句,最后执行SELECT 所以Select 子句后的别名,在where条件中不能使用 SELECT 控制显示的列, WHERE控制显示的行 模糊查询: "_"表示任意一位字符 "%"表示任意任意位字符 NOT ...
  • SQL,Select字段取别名的三种方法

    万次阅读 2015-01-27 20:41:06
    select Emp_Id "EmpId"方法二:以as关键字指定字段别名,as在select的字段和别名之间。select Emp_Id as EmpId方法三:对于SQL Sever还可以利用等号"="指定字段的别名select EmpId=EmpId 转载于:...
  • )查询数据记录,当在WHERE后用别名做过滤条件时,发生报错" 1054 - Unknown column ‘code’ in ‘where clause’",即“where子句”中的未知列“code””,如图: 为解决上述问题,我们只需要将上面的语句中的...
  • MyBatis 如何设置别名

    千次阅读 2020-05-10 20:27:14
    </configuration> //mapper.xml <select id="seleteAllStudent" resultType="Student">//student中的字母可大写可小写,(STudent...) select * from studentMybatis </select> 2、批量设置别名 自动将该包中的...
  • SELECT deptno FROM emp GROUP BY deptno SELECT deptno, avg(sal) as '部门平均工资' FROM emp GROUP BY deptno ----- 先按部门分组,再按职称分组 HAVING 【对分组后的信息进行过滤】 SELECT deptno...
  • SQL语句的语法顺序: ... SELECT -> DISTINCT -> UNION -> ORDER BY 因此一般不能在having condition中使用select list中的alias。 但是mysql对此作了扩展。在mysql 5.7.5之前的版本,ONLY_FULL_...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 216,419
精华内容 86,567
关键字:

select别名