mysql 嵌套_MySQL嵌套查询实例详解

本文实例分析了MySQL嵌套查询。分享给大家供大家参考,具体如下:

MySQl从4.11版后已经完全支持嵌套查询了,那么下面举些简单的嵌套查询的例子吧(源程序来自MySQL User Manual):

1. SELECT语句的子查询

语法:

复制代码 代码如下:SELECT ... FROM (subquery) AS name ...

先创建一个表:

?123CREATE TABLE t1 (s1INT, s2CHAR(5), s3FLOAT);INSERT INTO t1VALUES (1,'1',1.0);INSERT INTO t1VALUES (2,'2',2.0);

我们就可以进行以下的嵌套查询了:

?123SELECT sb1,sb2,sb3FROM (SELECT s1AS sb1, s2AS sb2, s3*2AS sb3FROM t1)AS sbWHERE sb1 > 1;

结果是: 2, '2', 4.0.

我们知道下面语句是不会得到正确结果的,因为对经过Group by排序的集合进行求均值是不能得到正确答案的:

复制代码 代码如下:SELECT AVG(SUM(column1)) FROM t1 GROUP BY column1

所以我们可以通过下面的嵌套查询实现同样的效果:

?123SELECT AVG(sum_column1)FROM (SELECT SUM(column1)AS sum_column1FROM t1GROUP BY column1)AS t1;

2.行的子查询(Row Subquery)

看下面的例子:

复制代码 代码如下:SELECT * FROM t1 WHERE ROW(1,2) 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值