您的位置:首页 > 数据库 > MySQL

MySQL 6.子查询

2015-11-07 16:48 429 查看
子查询:

子查询指嵌套在查询内部,且必须始终出现在圆括号内

子查询可以包含多个关键字或条件,如DISTINCT、GROUP BY 、ORDER BY、LIMIT、函数等

子查询的外层查询可以是我们所知道的所有的SQL命令的统称。

一下Demo基于此表结构,具体信息就不做展示:

SELECT goods_id, goods_name, goods_price FROM tdb_goods WHERE goods_price >= (SELECT ROUND(AVG(goods_price),2) FROM tdb_goods);


子查询Demo
ANY、SOME、ALL:ANY和SOME等价相当于任何一个即可,ALL则是所有的

Demo:查找出价格大于所有超级本的商品

SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price > ALL (SELECT goods_price FROM tdb_goods WHERE goods_cate='超级本');


2.使用NOT IN 与 IN 的子查询

=ANY运算符与IN等效

!=ALL与NOT IN 等效

3.使用EXISTS产生的子查询(如果子查询返回任何行,EXISTS将返回TRUE,否则返回FALSE)此种方法不常用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: