老杜带你学_mysql入门基础(mysql基础视频+数据库实战)
warrenlucfa
编辑于 2021年11月23日 12:30
收录于文集
共1篇

13.4、给查询的列起别名?

mysql> select deptno,dname as deptname from dept;

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

| deptno | deptname  |

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

|   10 | ACCOUNTING |

|   20 | RESEARCH  |

|   30 | SALES   |

|   40 | OPERATIONS |

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

使用as关键字起别名。

注意:只是将显示的查询结果列名显示为deptname,原表列名还是叫:dname

记住:select语句是永远都不会进行修改操作的。(因为只负责查询)

as关键字可以省略吗?可以的

mysql> select deptno,dname deptname from dept;

假设起别名的时候,别名里面有空格,怎么办?

mysql> select deptno,dname dept name from dept;

DBMS看到这样的语句,进行SQL语句的编译,不符合语法,编译报错。

怎么解决?

select deptno,dname 'dept name' from dept; //加单引号

select deptno,dname "dept name" from dept; //加双引号

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

| deptno | dept name |

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

|   10 | ACCOUNTING |

|   20 | RESEARCH  |

|   30 | SALES   |

|   40 | OPERATIONS |

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

注意:在所有的数据库当中,字符串统一使用单引号括起来,

单引号是标准,双引号在oracle数据库中用不了。但是在mysql

中可以使用。

再次强调:数据库中的字符串都是采用单引号括起来。这是标准的。

双引号不标准。

13.5、列(字段)需要参与简单的数学运算

如何计算员工的年薪?

                sal * 12

mysql> select ename,sal from emp;

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

| ename | sal   |

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

| SMITH | 800.00 |

| ALLEN | 1600.00 |

| WARD  | 1250.00 |

| JONES | 2975.00 |

| MARTIN | 1250.00 |

| BLAKE | 2850.00 |

| CLARK | 2450.00 |

| SCOTT | 3000.00 |

| KING  | 5000.00 |

| TURNER | 1500.00 |

| ADAMS | 1100.00 |

| JAMES | 950.00 |

| FORD  | 3000.00 |

| MILLER | 1300.00 |

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

mysql> select ename,sal*12 from emp; // 结论:字段可以使用数学表达式!

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

| ename | sal*12  |

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

| SMITH | 9600.00 |

| ALLEN | 19200.00 |

| WARD  | 15000.00 |

| JONES | 35700.00 |

| MARTIN | 15000.00 |

| BLAKE | 34200.00 |

| CLARK | 29400.00 |

| SCOTT | 36000.00 |

| KING  | 60000.00 |

| TURNER | 18000.00 |

| ADAMS | 13200.00 |

| JAMES | 11400.00 |

| FORD  | 36000.00 |

| MILLER | 15600.00 |

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

mysql> select ename,sal*12 as yearsal from emp; //起别名

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

| ename | yearsal |

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

| SMITH | 9600.00 |

| ALLEN | 19200.00 |

| WARD  | 15000.00 |

| JONES | 35700.00 |

| MARTIN | 15000.00 |

| BLAKE | 34200.00 |

| CLARK | 29400.00 |

| SCOTT | 36000.00 |

| KING  | 60000.00 |

| TURNER | 18000.00 |

| ADAMS | 13200.00 |

| JAMES | 11400.00 |

| FORD  | 36000.00 |

| MILLER | 15600.00 |

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

mysql> select ename,sal*12 as '年薪' from emp; //别名是中文,用单引号括起来。

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

| ename | 年薪    |

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

| SMITH | 9600.00 |

| ALLEN | 19200.00 |

| WARD  | 15000.00 |

| JONES | 35700.00 |

| MARTIN | 15000.00 |

| BLAKE | 34200.00 |

| CLARK | 29400.00 |

| SCOTT | 36000.00 |

| KING  | 60000.00 |

| TURNER | 18000.00 |

| ADAMS | 13200.00 |

| JAMES | 11400.00 |

| FORD  | 36000.00 |

| MILLER | 15600.00 |

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