本文实例分析了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嵌套查询实例详解相关推荐

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

    本文实例分析了MySQL嵌套查询.分享给大家供大家参考,具体如下: MySQl从4.11版后已经完全支持嵌套查询了,那么下面举些简单的嵌套查询的例子吧(源程序来自MySQL User Manual): ...

  2. mysql模糊查询实例_Mysql实例sql模糊查询实例详解

    <Mysql实例sql模糊查询实例详解>要点: 本文介绍了Mysql实例sql模糊查询实例详解,希望对您有用.如果有疑问,可以联系我们. 导读:常用的模糊查询语句:select 字段 fr ...

  3. mysql心得体会一百字_MYSQL CPU 100%实例详解

    MYSQL CPU 100%实例详解 2011/7/2 11:19:19作者:xy我要评论(0) 自己的一台主机(Windows 2003 + IIS + PHP + MYSQL )近来 MySQL ...

  4. mysql慢查询的使用_mysql慢查询使用详解

    1 慢查询定义指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句.慢查询日志就是记录这些sql的日志. 2 开启慢查询日志 找到mysql配置文件my.cnf.在 ...

  5. mysql+cur+0_MySQLcurdate()函数的实例详解

    MySQL CURDATE功能介绍 如果在数字上下文中使用字符串上下文或YYYMMDD格式,CURDATE()函数将以"YYYY-MM-DD"格式的值返回当前日期. 以下示例显示了 ...

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

    本文实例分析了MySQL嵌套查询.分享给大家供大家参考,具体如下: MySQl从4.11版后已经完全支持嵌套查询了,那么下面举些简单的嵌套查询的例子吧(源程序来自MySQL User Manual): ...

  7. mysql from 嵌套查询,MySQL嵌套查询实例详解

    本文实例分析了MySQL嵌套查询.分享给大家供大家参考,具体如下: MySQl从4.11版后已经完全支持嵌套查询了,那么下面举些简单的嵌套查询的例子吧(源程序来自MySQL User Manual): ...

  8. mysql单个查询_MySQL单表查询实例详解

    1.准备数据 以下操作将在该表中进行 create table student ( id int unsigned primary key auto_increment, name char(12) ...

  9. mysql 自关联的子孙查询,Mysql自连接查询实例详解

    本文实例讲述了Mysql自连接查询.分享给大家供大家参考,具体如下: 自连接查询 假想以下场景:某一电商网站想要对站内产品做层级分类,一个类别下面有若干子类,子类下面也会有别的子类.例如数码产品这个类 ...

  10. mysql union详解_MySQL 联合查询union详解-Fun言

    一.UNION和UNION ALL的作用和语法 UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行. UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须 ...

最新文章

  1. 二叉树中和为某一值的路径
  2. MySQL 慢查询日志工具之pt-query-digest
  3. Centos下机器学习算法Mahout库的安装和示例
  4. 【小练习03】CSS-表格(table)--天气预报
  5. 有人说华为最大的对手是5年后的小米,你怎么看?
  6. ospfdr选举规则_ospf DR和BDR选举注意的问题
  7. 微软开源新字体 Cascadia Code,与 Terminal 一起开发
  8. 【面经】字节算法面试三面
  9. 最近粉丝涨得比较快,可能是系统推荐了
  10. 基于vue的网页标尺辅助线工具(vue-ruler-tool)
  11. matlab符号函数求解方程组
  12. php 100元 换算,货币换算的PHP脚本
  13. 今天买了个黑莓7290
  14. 2021-01-27
  15. php中的列表属性,php类中的长属性列表 – 我可以缩短它吗?
  16. 智课雅思词汇---十二、vent是什么意思
  17. centos7.6 挂载硬盘
  18. python上方菜单栏不见了如何恢复_CorelDRAW菜单栏不见了,如何恢复
  19. 优雅的解决Springboot:BindingException: Invalid bound statement (not found):异常
  20. Resultful API

热门文章

  1. MySQL-快速入门(7)索引
  2. 数据库的点数据根据行政区shp来进行行政区处理,python定时器实现
  3. PostgreSQL 递归查询 (转)
  4. Vue 组件(二)父组件与子组件传递数据 之props
  5. 框架设计知识点纵览(笔记)
  6. 浅谈JSON数据解析方法
  7. 190614每日一句
  8. Unity整体与单个缩放比例
  9. Atitit 数据库对比较 oracle mysql pgsql 目录 1.1. 跨机器跨库mysql vs pgsql 1 1.2. 动态增加列 pgzhichi 1 1.3. Cte 1 1.4
  10. atitit 编程语言选型知识点体系.docx 编程语言选型时,你需要考虑的几个方面 目录 1. 1.2. 类型系统 5 1 2. 1.5. 语言规范 25 1 3. 1.6. 编程范式 52