MySQL数据库——子查询的基本操作
来源:互联网 发布:snmp linux 编辑:程序博客网 时间:2024/05/19 18:41
1.子查询定义
子查询(SubQuery)是指出现在其他SQL语句内的SELECT子句。
--例SELECT * FROM t1 WHERE col1 = (SELECT col2 FROM t2);/*1.SELECT * FROM t1,称为Outer Query/Outer Statement(外层查询/外层声明)2.SELECT col2 FROM t2,称为SubQuery*/
注意:
1.子查询指嵌套在查询内部,且必须始终出现在圆括号内。
2.子查询可以包含多个关键字或条件,如:DISTINCT、GROUP BY、ORDER BY、LIMIT、函数等等。
3.子查询的外层查询可以是:SELECT,INSERT,UPDATE,SET或DO。
4.子查询返回值,可以为标量、一行、一列或子查询。
2.比较运算符的子查询
--语法结构operand comparison_operator subquery;
--示例(假设所有前提条件都已满足)SELECT ROUND(AVG(price),2) FROM Store;--求出价格平均数,且保留小数点后两位SELECT id,name,price FROM Store WHERE price >= (SELECT ROUND(AVG(price),2) FROM Store);--使用子查询,求出大于等于平均价格的商品SELECT * FROM Store WHERE categ = '彩电'\G;--注意,查询可以使用中文
注意,在 比较 的时候,可能会出现返回多条结果
若是使用返回多条结果的子查询去 比较 则会报错
因为系统不知道,你是要和哪条返回结果去 比较
所以,就有了‘修饰比较修饰符’
--ANY,SOME,ALLoperand comparison_operator ANY (subquery);operand comparison_operator SOME (subquery);operand comparison_operator ALL (subquery);
--示例(假设子查询有多个返回值)SELECT name,price FROM Store WHERE price > ANY (SELECT price FROM Store WHERE categ = '彩电');--对照上表,可以看出彩电返回的是返回值中的最小值
3.[NOT] IN的子查询
--语法结构operand comparison_operator [NOT] IN (subquery);--=ANY运算符与IN等效--!=ALL或<>ALL运算符与NOT IN等效
4.[NOT] EXISTS的子查询(不常用)
如果子查询返回任何行,EXISTS将返回TRUE;
否则为FALSE
0 0
- MySQL数据库——子查询的基本操作
- MySQL数据记录基本操作——多表查询、子查询和正则表达式查询
- MySQL数据记录基本操作——多表查询、子查询和正则表达式查询
- MySQL数据库——对查询结果的基本操作(GROUP BY、HAVING、ORDER BY、LIMIT)
- MySQL数据库的子查询
- MySQL数据库——使用子查询
- MySql数据库的基本操作-表的建立/查询
- mysql数据库基本查询语句操作
- 【数据库之SQL基本操作】简单的SQL操作(不涉及subquery子查询)
- mysql数据库子查询、连接查询——2014.5.27
- 数据库-子查询《mysql子查询的弱点》
- MySQL数据库——表的基本操作
- MySQL数据库——插入记录的基本操作
- Mysql基础—对数据库和表的基本操作
- mysql数据库的基本操作
- MySQL数据库的基本操作
- MySQL数据库的基本操作
- mySql数据库的基本操作
- Live555流程分析
- 关于Okhttp3(三)--请求流程
- androidstudio 引用本地aar文件 和aar文件中包含jar该如何引用
- 机器学习实战:ch02-1
- 【C语言简单说】二十:指针基础
- MySQL数据库——子查询的基本操作
- web前端课程第二天
- centos 7 安装bsdiff
- CSS属性display:table的表格布局的使用
- Android仿微信朋友圈上传图片
- 点击其他地方隐藏
- Spring学习之Transaciton+MyBatis+MySql+Maven+SringAOP(介绍+实例)
- 如何将canvas转化为图片
- C#中String类的几个方法(IndexOf、LastIndexOf、Substring)