当前位置: Oracle DBA培训网-优技培训 >> MySQL培训 > MySQL培训教程 >

MySQL认证培训:select列别名怎么使用

MySQL认证培训:select列别名怎么使用

MySQL认证培训:select列别名怎么使用,精选输出的列可以用列名、列别名或列位置在ORDER BY和GROUP BY子句引用,列位置从1开始。

例如,我们从pet表中检索出宠物和种类,直接引用列名:

mysql> select name,species from pet ORDER BY name, species;

其输出为:

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

| name | species |

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

| Bowser | dog |

| Buffy | dog |

| Chirpy | bird |

| Claws | cat |

| Fang | dog |

| Fluffy | cat |

| Puffball | hamster |

| Slim | snake |

| Whistler | bird |

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

在子句中使用列的位置:

mysql> SELECT name,species FROM pet ORDER BY 1,2;

这条语句的输出与上面并无不同。

最后,你还可以为列命名:

mysql> SELECT name AS n,species AS s FROM pet ORDER BY n,s;

注意返回的结果:

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

| n | s |

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

| Bowser | dog |

| Buffy | dog |

| Chirpy | bird |

| Claws | cat |

| Fang | dog |

| Fluffy | cat |

| Puffball | hamster |

| Slim | snake |

| Whistler | bird |

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

返回的记录顺序并无不同。但是列的名字有了改变,这一点在使用CREATE TABLE…SELECT语句创建表时是有意义的。

例如,我们想从pet表生成包括其中name,owner字段的表,但是想把name和owner字段的名字重新命名为animal和child,一个很笨的方法就是创建表再录入数据,如果使用别名,则仅仅一条SQL语句就可以解决问题,非常简单,我们要使用的语句使CREATE TABLE:

mysql> CREATE TABLE pet1

-> SELECT name AS animal,owner AS child

-> FROM pet;

然后,检索生成的表,看看是否达到目的:

mysql> SELECT * FROM pet1;

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

| animal | child |

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

| Fluffy | Harold |

| Claws | Gwen |

| Buffy | Harold |

| Chirpy | Gwen |

| Fang | Benny |

| Bowser | Diane |

| Whistler | Gwen |

| Slim | Benny |

| Puffball | Diane |

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

技术沙龙MORE+

Oracle技术沙龙:【数据保护顶尖技术-MAA】首次全国首播12c MAA技术 云数据库加上MAA技术组成最豪华的技...
Oracle技术沙龙第49期:【Oracle 数据库云技术分享】Oracle技术沙龙第49期:【Oracle 数据库云技术分享】本次技术沙...
Oracle技术沙龙第48期:【Oracle 12c RAC安装】小编:今天讲什么内容呢?以后有什么用呢? 大师:今天讲的是12c...
我要参加技术沙龙

关闭