开发学院

您的位置:首页>教程>正文

教程正文

SQLite 别名

SQLite 别名

  我们可以通过给一个表或列取另一个名字来临时重命名,这个操作叫做别名。使用表别名意味着重命名特定SQLite语句中的表。重命名是临时更改,数据库中的实际表名不会更改。

  列别名用于为特定SQLite查询重命名表的列。

语法

SELECT column1, column2....
FROM table_name AS alias_name
WHERE [condition];

  以下是列别名的基本语法。

SELECT column_name AS alias_name
FROM table_name
WHERE [condition];

例子

  假设有两张表,COMPANY表如下:

sqlite> select * from COMPANY;
ID          NAME                  AGE         ADDRESS     SALARY
----------  --------------------  ----------  ----------  ----------
1           Paul                  32          California  20000.0
2           Allen                 25          Texas       15000.0
3           Teddy                 23          Norway      20000.0
4           Mark                  25          Rich-Mond   65000.0
5           David                 27          Texas       85000.0
6           Kim                   22          South-Hall  45000.0
7           James                 24          Houston     10000.0

  另外一张表DEPARTMENT如下:

ID          DEPT                  EMP_ID
----------  --------------------  ----------
1           IT Billing            1
2           Engineering           2
3           Finance               7
4           Engineering           3
5           Finance               4
6           Engineering           5
7           Finance               6

  下面是ALIAS的用法,我们分别使用C和D作为COMPANY和DEPARTMENT表的别名

sqlite> SELECT C.ID, C.NAME, C.AGE, D.DEPT
        FROM COMPANY AS C, DEPARTMENT AS D
        WHERE  C.ID = D.EMP_ID;

  上述SQLite语句将产生以下结果:

ID          NAME        AGE         DEPT
----------  ----------  ----------  ----------
1           Paul        32          IT Billing
2           Allen       25          Engineering
3           Teddy       23          Engineering
4           Mark        25          Finance
5           David       27          Engineering
6           Kim         22          Finance
7           James       24          Finance

  考虑列别名的使用示例,其中COMPANY_ID是ID列的别名,COMPANY_NAME是NAME列的别名。

sqlite> SELECT C.ID AS COMPANY_ID, C.NAME AS COMPANY_NAME, C.AGE, D.DEPT
        FROM COMPANY AS C, DEPARTMENT AS D
        WHERE  C.ID = D.EMP_ID;

  上述SQLite语句将产生以下结果:

COMPANY_ID  COMPANY_NAME  AGE         DEPT
----------  ------------  ----------  ----------
1           Paul          32          IT Billing
2           Allen         25          Engineering
3           Teddy         23          Engineering
4           Mark          25          Finance
5           David         27          Engineering
6           Kim           22          Finance
7           James         24          Finance