世界超算排行榜:太湖之光!

IT教程学习网

网站建设

MYSQL数据库子查询命令详解

文章来源:深腾网   作者:静岳   浏览量:
MYSQL数据库子查询是一个嵌套在另一个查询内部的查询。虽然大多数子查询功能可以通过连接和临时表的使用而获得,但是子查询通常更容易阅读和编写。

MYSQL数据库基本的子查询

MYSQL数据库子查询的最常见的用法是用一个查询的结果作为另一个查询的比较条件。例如,我们从以下表中找到一个金额最大的订单,将使用如下命令进行查询(先通过子查询返回了最大金额,然后将最大金额作为最大条件查询订单ID):

MYSQL子查询 
select orderid,amount from orders where amount=(select max(amount) from orders);
结果如下:

MYSQL子查询 
 

MYSQL数据库关联子查询

首先静岳介绍MYSQL数据库关联子查询的字义:查询匹配外部行的内部行,也就是说内部查询将引用外部查询的结果。这里介绍下特殊子查询操作符(EXISTS)的使用:如果子查询中存在任何匹配行,EXISTS操作符将返回true,如果子查询中没有任何匹配行,NOT EXISTS将返回TRUE。
 
举例在下列两个表中查询没有卖出的产品,子查询命令如下:
Select pid,name from product 
where not exists
(select * from product_order  where product_order.pid=product.pid);
 
MYSQL子查询 

MYSQL子查询 
 
执行结果为:

MYSQL子查询 
 

使用MYSQL数据库子查询作为临时表

可以在一个外部查询的FROM子句中使用子查询。这种方法允许有效的查询子查询的输出,并将其作为一个临时表,这里必须在子查询的后面为子查询的结果定义一个别名,我们可以将其当作外部查询的任何表。
举例命令:
Select * from
 (select userid,name from user where phone=’11111111111’)  
As first.user;

MYSQL子查询



分享到:

  • Copyright © 2014-2026 深腾网 版权所有:静岳互联网咨询工作室
  • 冀ICP备16020878-1