MySQL子查询 应用 |
||||||
时间: 2008-09-10 信息来源: 新浪博客 作者: 编辑整理 点击数:
|
||||||
内容提示:MySQL 4.1版以后有两种方法可以使用一个单独的查询从多个数据表中取得数据:使用连接(join)或者使用子查询(subquery)。本文将介绍MysQL子查询的应用. |
||||||
MySQL 4.1版的发布,现在有两种方法可以使用一个单独的查询从多个数据表中取得数据:使用连接(join)或者使用子查询(subquery)。我们来举例说明,假设你有一下的表格:
下面我们使用连接(join)方法取得client表格中id为10的数据。
但是你并非总是可以通过使用连接(join)方式查询你所需要的数据。举一个例子,假如你需要最大的帐户表中的客户信息。下面的查询,看起来好像应该可以正确返回你所需要的数据,但是实际上会发生错误:
错误的原因是:invalid use of group function,就是这个聚合函数,Max,不允许出现在where子句当中。这也就是子查询诞生的原因,在本文当中,我将简短的描述添加到mysql数据库系统的子查询功能。 子查询就是包含在括号中选择语句 简单的将,子查询就是一个被写在另一个sql语句(一般情况下,是select语句,但是不总是这样)中的查询语句。判断是否是子查询的方式是看查询语句是否在括号中间,下面是一个例子。
这个查询将会返回表clients中clno中所有城市为’leduc’的记录。为了得到结果,dbms首先会取得内部查询的结果,查找所有表 clno中所有城市为‘leduc’的记录。然后比较表clients,返回符合clno值的每一行。因为只有一个值符合子查询,实际上,等效于下面语句:
当然,这个查询语句也可以写成以下方式:
|
||||||
推荐文章:
图文资讯:
热门文章:

