MySQL进阶(二)——子查询
来源:互联网 发布:人脸识别算法 开源 编辑:程序博客网 时间:2024/04/30 15:42
子查询
子查询(Subquery)是指出现在其他SQL语句内的SELECT子句。
例如:
SELECT * FROM t1 WHERE col1=(SELECT col2 FROM t2);
其中,SELECT * FROM t1,称为Outer Query/Outer Statement
SELECT col2 FROM t2,称为SubQuery
子查询指嵌套在查询内部,且必须始终出现在圆括号内。
子查询可以包含多个关键字或条件,如DISTINCT、GROUP BY、ORDER BY、LIMIT,函数等。
子查询的外层查询可以是:SELECT,INSERT,UPDATE,SET或DO。
子查询可以返回标量、一行、一列或子查询。
使用比较运算符的子查询
=、<、>、>=、<=、<>、!=、<=>
语法结构
operand comparison_operator subquery
例子:
SELECT goods_id,goods_name,goods_price FROM goods WHERE goods_price >= (SELECT ROUND(AVG(goods_price),2) FROM goods);
用ANY、SOME或ALL修饰比较运算符
operand comparison_operator ANY (subquery)
operand comparison_operator SOME (subquery)
operand comparison_operator ALL (subquery)
如果子查询返回多个结果,需要使用上面三个关键字。
例子:
SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price > ANY (SELECT goods_price FROM tdb_goods WHERE goods_cate=’超极本’);
使用[NOT] IN 的子查询
语法结构
operand comparison_operator [NOT] IN (subquery)
=ANY 运算符与IN等效
!=ALL或<>ALL运算符与NOT IN等效
例子:
SELECT goods_id,goods_name,goods_price FROM tdb_goods WHERE goods_price IN (SELECT goods_price FROM tdb_goods WHERE goods_cate=’超极本’);
使用[NOT] EXISTS的子查询
如果子查询返回任何行,EXISTS将返回TRUE;否则为FALSE。
INSERT...SELECT
将查询结果写入数据表
INSERT [INTO] tbl_name [(col_name,...)] SELECT ...
例子:
CREATE TABLE IF NOT EXISTS goods_cates(
cate_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
cate_name VARCHAR(40)
);
INSERT goods_cates(cate_name) SELECT goods_cate FROM goods GROUP BY good_cate;
- MySQL进阶(二)——子查询
- MySQL——分组查询子查询
- 【进阶】MySQL中的子查询和联合查询
- Mysql学习总结(26)——MySQL子查询
- Mysql学习总结(26)——MySQL子查询
- MySQL查询优化器--逻辑查询优化技术(二)--子查询优化(二)
- 子查询(二)子查询
- 数据库学习纪要(二十六):MySQL-6-子查询
- Mysql 子查询<二>这个面试题。。。。
- MySQL学习15:子查询(二)
- MySQL查询优化器--逻辑查询优化技术(二)--子查询优化(三)
- MySQL查询优化器--逻辑查询优化技术(二)--子查询优化(四)
- MySQL查询优化器--逻辑查询优化技术(二)--子查询优化
- Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解
- Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解
- MySQL基础(4)——子查询(嵌套查询)、联结表、组合查询
- MySQL子查询(一)—— EXISTS与IN
- MySQL子查询(一)—— EXISTS与IN
- RxJava 之 操作符
- Leetcode 39. Combination Sum (Medium) (cpp)
- mask匀光算法原理
- java的单例模式
- 4 机器学习实践之手写数字识别- 神经网络识别
- MySQL进阶(二)——子查询
- Http相关辅助类 HttpUtils
- Linux日志学习
- Ketama一致性哈希算法整理
- 导出oracle数据库所有表结构到excel中
- Json数据格式介绍、使用Android自带类库完成Json生成与解析
- Handler消息传递机制
- java中的static用法
- Sonar初识