MySQL数据库SELECT查询表达式解析

数据的管理在很大一部分是在进行查找工作,而SELECT占据了很大的一部分

SELECT select_expr [,select_expr...]
[
  FROM table_reference
  WHERE [where_condition]
  [GROUP BY {col_name | position} [ASC| DESC],...]
  [HAVING where_condition]
  [ORDER BY {col_name | expr |position} [ASC| DESC],...]
  [LIMIT {[offset,] row_count | row_count OFFSET offset}]
]

那么 select_expr 查询表达式如何书写呢?

a. 每个表达式表示想要的一列,必须有至少一个
b. 多个列之间用英文逗号进行分隔

在user数据表中,执行只查找前两列

root@localhost test>select id,username from user; 

当然查询表达式的顺序可以个数据表中的顺序不一致,则查询结果按照查询表达式的结果进行显示,即是SELECT查询表达式的顺序将会影响查询结果的顺序。

root@localhost test>select username,id from user; 

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

root@localhost test>SELECT * FROM user;
root@localhost test>SELECT user.id,user.username FROM user; 

这里既然已经指定了字段名字,为什么user.id和use.name中还要指定数据表的名字 user 呢?因为如果存在多表连接,即是两张不同的表存在相同的字段。如果直接写字段名字的可能分不清这个字段属于哪个数据表,因此通过加数据表名进行区分这个字段隶属哪张数据表。

d. 查询表达式可以使用 [AS] alias_name为其赋予别名

root@localhost test>SELECT id AS userID,username AS Uname FROM user; 

发现表中原来的id,username变成了userID,Uname,因此别名也会影响结果。

这里千万注意别名的语法

root@localhost test>SELECT id username FROM user; 

此时username作为id的别名出现,也就是说如果别名和数据表中真是所存在的字段重合的情况下,现在username指的是别名而不是真实的字段。

e. 别名可以用于GROUP BY ,ORDER BY 或者HAVING 子句

总结

以上所述是小编给大家介绍的MySQL数据库SELECT查询表达式解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • php mysql实现mysql_select_db选择数据库

    mysql_select_db介绍 mysql_select_db函数有两个参数: mysql_select_db(database,connection) 如果成功,则该函数返回 true.如果失败,则返回 false. 参数 描述 database 必需.需要选择的数据库. connection 可选.MySQL 连接.如果没有设置该参数,则表明使用上一个mysql数据库连接.  mysql_select_db实例 <?php $host="mysql153.secureserver.

  • mysql select缓存机制使用详解

    mysql Query Cache 默认为打开.从某种程度可以提高查询的效果,但是未必是最优的解决方案,如果有的大量的修改和查询时,由于修改造成的cache失效,会给服务器造成很大的开销,可以通过query_cache_type[0(OFF)1(ON)2(DEMAND)]来控制缓存的开关. 需要注意的是mysql query cache 是对大小写敏感的,因为Query Cache 在内存中是以 HASH 结构来进行映射,HASH 算法基础就是组成 SQL 语句的字符,所以 任何sql语句的改变

  • php操作mysql获取select 结果的几种方法

    如果用了 MYSQL_BOTH,将得到一个同时包含关联和数字索引的数组. 用 MYSQL_ASSOC 只得到关联索引(如同mysql_fetch_assoc() 那样), 用 MYSQL_NUM 只得到数字索引(如同 mysql_fetch_row 那样). 1. mysql_fetch_array($rs,MYSQL_ASSOC) [@test01 model]# php test.php Array ( [name] => hellokitty [addr] => i dont kno )

  • 简单了解MySQL SELECT执行顺序

    SELECT语句的完整语法为: (7) SELECT (8) DISTINCT <select_list> (1) FROM <left_table> (3) <join_type> JOIN <right_table> (2) ON <join_condition> (4) WHERE <where_condition> (5) GROUP BY <group_by_list> (6) HAVING <having

  • MySql数据库中Select用法小结

    一.条件筛选 1.数字筛选:sql = "Select * from [sheet1$] Where 销售单价 > 100" 2.字符条件:sql = "Select * from [sheet1$] Where 物品名称 ='挡泥板'" 3.日期条件:sql = "Select * from [sheet1$] Where 物品名称 ='挡泥板'" 4.区间条件:sql = "Select * from [sheet1$] Wh

  • mysql select语句操作实例

    Select的语法 复制代码 代码如下: SELECT     [ALL | DISTINCT | DISTINCTROW ]       [HIGH_PRIORITY]       [STRAIGHT_JOIN]       [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]       [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]     select_expr, ...    

  • MySQL数据库SELECT查询表达式解析

    数据的管理在很大一部分是在进行查找工作,而SELECT占据了很大的一部分 SELECT select_expr [,select_expr...] [ FROM table_reference WHERE [where_condition] [GROUP BY {col_name | position} [ASC| DESC],...] [HAVING where_condition] [ORDER BY {col_name | expr |position} [ASC| DESC],...]

  • java实现连接mysql数据库单元测试查询数据的实例代码

    1.按照javaweb项目的要求逐步建立搭建起机构,具体的类包有:model .db.dao.test; 具体的架构详见下图: 2.根据搭建的项目架构新建数据库test和数据库表t_userinfo并且添加对应的测试数据; (这里我使用的是绿色版的数据库,具体的下载地址:http://pan.baidu.com/s/1mg88YAc) 具体的建立数据库操作详见下图: 3.编写包中的各种类代码,具体参考代码如下: UserInfo.java /** * FileName: UserInfo.jav

  • MySQL数据库高级查询和多表查询

    MySQL多表查询 添加练习表 -- 用户表(user) CREATE TABLE `user`( `id` INT AUTO_INCREMENT PRIMARY KEY COMMENT '用户id(主键)', `username` VARCHAR(50) COMMENT '用户姓名', `age` CHAR(3) COMMENT '用户年龄' ); -- 订单表(orders) CREATE TABLE `orders`( `id` INT AUTO_INCREMENT PRIMARY KEY

  • MySQL数据库分组查询group by语句详解

    一:分组函数的语句顺序 1 SELECT ... 2 FROM ... 3 WHERE ... 4 GROUP BY ... 5 HAVING ... 6 ORDER BY ... 二:WHERE和HAVING筛选条件的区别 数据源 位置 关键字 WHERE 原始表 ORDER BY语句之前 WHERE HAVING 分组后的结果集 ORDER BY语句之后 HAVING 三:举例说明 #1.查询每个班学生的最大年龄 SELECT MAX(age),class FROM STU_CLASS GR

  • MySQL数据库子查询 sub query

    目录 1.基本概念 1.1.子查询 1.2.主查询 1.3.子查询和主查询的关系 1.4.子查询的分类 2.标量子查询 2.1.基本语法 2.2.示例 3.列子查询 3.1.基本语法 3.2.示例 4.行子查询 4.1.基本语法 4.2.示例 5.表子查询 5.1.基本语法 5.2.示例 6.exists子查询 6.1.基本语法 6.2.示例 7.子查询中的特定关键字 7.1.in 7.2.any 7.3.some 7.4.all 7.5.值为null 1.基本概念 1.1.子查询 嵌套查询下层

  • MySQL数据库子查询语法规则详解

    目录 子查询简介 WHERE 子查询 FROM 子查询 SELECT 子查询 子查询是在查询语句里面再嵌套一个查询,这是因为我们在提取数据的时候有很多不知道的数据产生了依赖关系.此时我们就需要先查询一组数据的结果集,然后将这个结果集作用为下一个查询的对象.在 “表连接的章节”,我们曾说过子查询的效率低下的问题,其实并不是所有的子查询效率都是低下的,“WHERE” 子查询在匹配记录的时候要反复执行,这是不推荐使用的:但是如果将查询结果集当做一张表来使用,与其他的表做一个连接,这就是 “FROM”

  • Mysql数据库中子查询的使用

    废话不多说了,直接个大家贴mysql数据库总子查询的使用. 代码如下所述: </pre><pre name="code" class="sql">1.子查询是指在另一个查询语句中的SELECT子句. 例句: SELECT * FROM t1 WHERE column1 = (SELECT column1 FROM t2); 其中,SELECT * FROM t1 ...称为Outer Query[外查询](或者Outer Statement

  • MySQL数据库本地事务原理解析

    在经典的数据库理论里,本地事务具备四大特征: 原子性 事务中的所有操作都是以原子的方式执行的,要么全部成功,要么全部失败: 一致性 事务执行前后,所有的数据都应该处于一致性状态---即要满足数据库表的一致性约束,也要达到业务一致性(完成了业务目标): 隔离性 并发执行的事务不应该相互干扰:隔离性的强度由隔离级别决定: 持久性 事务一旦被提交,它添加/修改的数据不会随着系统崩溃而丢失: 在MySQL(InnoDB引擎)中,原子性和持久性是通过Redo Log来实现的,一致性是通过Undo Log实

  • 如何提高MYSQL数据库的查询统计速度 select 索引应用

    数据库系统是管理信息系统的核心,基于数据库的联机事务处理(OLTP)以及联机分析处理(OLAP)是银行.企业.政府等部门最为重要的计算机应用之一.从大多数系统的应用实例来看,查询操作在各种数据库操作中所占据的比重最大,而查询操作所基于的SELECT语句在SQL语句中又是代价最大的语句.举例来说,如果数据的量积累到一定的程度,比如一个银行的账户数据库表信息积累到上百万甚至上千万条记录,全表扫描一次往往需要数十分钟,甚至数小时.如果采用比全表扫描更好的查询策略,往往可以使查询时间降为几分钟,由此可见

  • Yii2实现跨mysql数据库关联查询排序功能代码

    背景:在一个mysql服务器上(注意:两个数据库必须在同一个mysql服务器上)有两个数据库: memory (存储常规数据表) 中有一个 user 表(记录用户信息) memory_stat (存储统计数据表) 中有一个 user_stat (记录用户统计数据) 现在在 user 表生成的 GridView 列表中展示 user_stat 中的统计数据 只需要在User的model类中添加关联 public function getStat() { return $this->hasOne(U

随机推荐