首页 > 代码库 > 查询表达式解析

查询表达式解析

 

 

 

   我们常常听说,数据表中的select占到SQL语句的80%,一点都不夸张。

技术分享

 

 

 

 

 

一、什么是查询表达式?

  (1)查询表达式表示你想要的某一列,必须至少有一列

  (2)多个列之间用英文逗号分割

  (3)星号(*)表示所有列,tbl_name.*可以表示命名表的所有列

  (4)查询表达式可以使用[AS] alias_name为其赋予别名

  (5)别名可以用于GROUP BY,ORDER BY 或HAVING子句

 

 

 

 

 

 

 

 

 

 

 

 

二、查询多列

2.1   假设我们来查询user表中的id和username两个字段,操作命令及结果如下:

技术分享

select  id,username   from   user;

 

 

 

 

 

 

2.2   当然我们也可以让数据列的排序方式和原表的不一样, 比如先排列username字段,后排列id字段,操作命令及结果如下:

技术分享

select  username,id  from  user;

  所以说select语句查询表达式的顺序可以和数据表中字段的顺序不一样,而且影响着结果的顺序

 

 

 

 

 

 

三、星号(*)表示所有列,tbl_name.*可以表示命名表的所有列

  可能你会有疑问,为什么要在字段前面加上当前数据表的名称,当然,如果只是针对一张表做操作,那么完全没有必要这样做,关键是当我们以后学习到多表连接时,就会出现不同的表会具有相同的字段,如果直接写字段名的话,就分不清是哪张表的字段,所以我们加上数据表就可以清晰的分辨出这个字段到底属于哪张数据表。

技术分享

select   user.id , user.username   from  user;

 

 

 

 

 

 

 

 

 

四、使用[AS] alias_name为其赋予别名

  例如:我们为username字段赋予别名uname,操作命令及结果如下:

技术分享

select   id,username   as   uname   from  user;

  我们可以从结果中发现字段的名称为uname,而不是之前的username,从这一点我们也可以发现,字段的别名也将会影响到结果集,在别名的操作中,我们会发现这个中括号里的as可用可不用,但是建议大家最好使用,否则可能会出现一些小问题,下面我们省略掉as关键字来演示一下。操作命令及结果如下:

 技术分享
select   id,username      from  user;

 

查询表达式解析