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) = (SELECT column1, column2 FROM t2);
这个查询是返回column1等于column2的结果行。Row函数中的1和2相当于构造参数。想必Blogjava上的同志对这些应该比较清楚,也不去详细介绍了。
3.使用Exist和Not Exist参数
这里的Exist和Not Exist用途及用法和在其他没有什么大的区别,我就简单举几个范例好了:
范例一:
?123SELECT DISTINCT store_typeFROM StoresWHERE EXISTS (SELECT *FROM Cities_StoresWHERE Cities_Stores.store_type = Stores.store_type);
范例二:
?123SELECT DISTINCT store_typeFROM StoresWHERE NOT EXISTS (SELECT *FROM Cities_StoresWHERE Cities_Stores.store_type = Stores.store_type);
范例三: 这个例子中嵌套使用了Not Exist语法,稍微注意一下:
?123456SELECT DISTINCT store_typeFROM Stores S1WHERE NOT EXISTS (SELECT *FROM CitiesWHERE NOT EXISTS (SELECT *FROM Cities_StoresWHERE Cities_Stores.city = Cities.cityAND Cities_Stores.store_type = Stores.store_type));
4.条件关联关系查询
?1234SELECT column1FROM t1AS xWHERE x.column1 = (SELECT column1FROM t2AS xWHERE x.column1 = (SELECT column1FROM t3WHERE x.column2 = t3.column1));
跟其他数据库做法是一样的。
5.其他使用方法和注意
除了上面这些还有很多很多,不过就不去细讲了,因为这些跟别的数据库差不多,只是为了给大家一个参考,提提就够了。
?12SELECT (SELECT s1FROM t2)FROM t1;SELECT (SELECT s2FROM t1);
支持子查询的语法有:SELECT,INSERT,UPDATE,DELETE,SET和DO。
子查询可以使用任何普通查询中使用的关键词:如DINSTINCT,GROUP BY,LIMIT,ORDER BY,UNION,ALL,UNION ALL等。可以使用, <=, >=, =, <>运算符进行比较,也可以使用ANY ,IN和SOME进行集合的匹配。
希望本文所述对大家MySQL数据库程序设计有所帮助。
mysql 嵌套_MySQL嵌套查询实例详解相关推荐
- mysql嵌套查询详解_MySQL嵌套查询实例详解
本文实例分析了MySQL嵌套查询.分享给大家供大家参考,具体如下: MySQl从4.11版后已经完全支持嵌套查询了,那么下面举些简单的嵌套查询的例子吧(源程序来自MySQL User Manual): ...
- mysql模糊查询实例_Mysql实例sql模糊查询实例详解
<Mysql实例sql模糊查询实例详解>要点: 本文介绍了Mysql实例sql模糊查询实例详解,希望对您有用.如果有疑问,可以联系我们. 导读:常用的模糊查询语句:select 字段 fr ...
- mysql心得体会一百字_MYSQL CPU 100%实例详解
MYSQL CPU 100%实例详解 2011/7/2 11:19:19作者:xy我要评论(0) 自己的一台主机(Windows 2003 + IIS + PHP + MYSQL )近来 MySQL ...
- mysql慢查询的使用_mysql慢查询使用详解
1 慢查询定义指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句.慢查询日志就是记录这些sql的日志. 2 开启慢查询日志 找到mysql配置文件my.cnf.在 ...
- mysql+cur+0_MySQLcurdate()函数的实例详解
MySQL CURDATE功能介绍 如果在数字上下文中使用字符串上下文或YYYMMDD格式,CURDATE()函数将以"YYYY-MM-DD"格式的值返回当前日期. 以下示例显示了 ...
- mysql嵌套查询详解_MySQL嵌套查询实例详解_MySQL
本文实例分析了MySQL嵌套查询.分享给大家供大家参考,具体如下: MySQl从4.11版后已经完全支持嵌套查询了,那么下面举些简单的嵌套查询的例子吧(源程序来自MySQL User Manual): ...
- mysql from 嵌套查询,MySQL嵌套查询实例详解
本文实例分析了MySQL嵌套查询.分享给大家供大家参考,具体如下: MySQl从4.11版后已经完全支持嵌套查询了,那么下面举些简单的嵌套查询的例子吧(源程序来自MySQL User Manual): ...
- mysql单个查询_MySQL单表查询实例详解
1.准备数据 以下操作将在该表中进行 create table student ( id int unsigned primary key auto_increment, name char(12) ...
- mysql 自关联的子孙查询,Mysql自连接查询实例详解
本文实例讲述了Mysql自连接查询.分享给大家供大家参考,具体如下: 自连接查询 假想以下场景:某一电商网站想要对站内产品做层级分类,一个类别下面有若干子类,子类下面也会有别的子类.例如数码产品这个类 ...
- mysql union详解_MySQL 联合查询union详解-Fun言
一.UNION和UNION ALL的作用和语法 UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行. UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须 ...
最新文章
- 二叉树中和为某一值的路径
- MySQL 慢查询日志工具之pt-query-digest
- Centos下机器学习算法Mahout库的安装和示例
- 【小练习03】CSS-表格(table)--天气预报
- 有人说华为最大的对手是5年后的小米,你怎么看?
- ospfdr选举规则_ospf DR和BDR选举注意的问题
- 微软开源新字体 Cascadia Code,与 Terminal 一起开发
- 【面经】字节算法面试三面
- 最近粉丝涨得比较快,可能是系统推荐了
- 基于vue的网页标尺辅助线工具(vue-ruler-tool)
- matlab符号函数求解方程组
- php 100元 换算,货币换算的PHP脚本
- 今天买了个黑莓7290
- 2021-01-27
- php中的列表属性,php类中的长属性列表 – 我可以缩短它吗?
- 智课雅思词汇---十二、vent是什么意思
- centos7.6 挂载硬盘
- python上方菜单栏不见了如何恢复_CorelDRAW菜单栏不见了,如何恢复
- 优雅的解决Springboot:BindingException: Invalid bound statement (not found):异常
- Resultful API
热门文章
- MySQL-快速入门(7)索引
- 数据库的点数据根据行政区shp来进行行政区处理,python定时器实现
- PostgreSQL 递归查询 (转)
- Vue 组件(二)父组件与子组件传递数据 之props
- 框架设计知识点纵览(笔记)
- 浅谈JSON数据解析方法
- 190614每日一句
- Unity整体与单个缩放比例
- Atitit 数据库对比较 oracle mysql pgsql 目录 1.1. 跨机器跨库mysql vs pgsql	1 1.2. 动态增加列 pgzhichi	1 1.3. Cte	1 1.4
- atitit 编程语言选型知识点体系.docx 编程语言选型时,你需要考虑的几个方面 目录 1. 1.2. 类型系统	5	1 2. 1.5. 语言规范	25	1 3. 1.6. 编程范式	52