(一)select查询作为临时表

select cou,name from (select count(*) AS cou,enabled AS name from `user` group by enabled ) as a where cou>0

上面的语句就是将查询结果作为临时表,然后再在这个临时表中查找满足条件的数据。

语法: (注意:AS 可省略)

CODE:

SELECT ... FROM (subquery) AStableName ...

先创建一个表:

CODE:

CREATE TABLE t1 (s1 INT, s2 CHAR(5), s3 FLOAT);

INSERT INTO t1 VALUES (1,'1',1.0);

INSERT INTO t1 VALUES (2,'2',2.0);

我们就可以进行以下的嵌套查询了:

CODE:

SELECT sb1,sb2,sb3

FROM (SELECT s1 AS sb1, s2 AS sb2, s3*2 AS sb3 FROM t1) AS sb

WHERE sb1 > 1;

结果是: 2, '2', 4.0.

SELECT AVG(sum_column1) FROM (SELECT SUM(column1) AS sum_column1 FROM t1 GROUP BY column1) AS t1; (二)

行的子查询(Row Subquery)

SELECT * FROM t1 WHERE ROW(1,2) = (SELECT column1, column2 FROM t2);

在该例子中,在保证子查询返回单一行数据的前提下,如果 column1=1 且 column2=2 ,则该查询结果为 TRUE。

MySQL 行构造符

在上面的例子中,WHERE 后面的 (1,2) 被称为行构造符,也可以写作 ROW(1,2)。行构造符通常用于与对能返回两个或两个以上列的子查询进行比较。

SELECT * FROM article WHERE (title,content,uid) = (SELECT title,content,uid FROM blog WHERE bid=2)注意:[SQL] SELECT * FROM `user` WHERE ROW(username,`password`) = (SELECT username, `password` FROM `user`);

[Err] 1242 - Subquery returns more than 1 row

这是因为查询结果多于一行,可以这样处理

SELECT * FROM `user` WHERE ROW(username,`password`) = ANY(SELECT username, `password` FROM `user`);

(三).使用Exist和Not Exist参数

SELECT DISTINCT store_type FROM Stores

WHERE EXISTS (SELECT * FROM Cities_Stores

WHERE Cities_Stores.store_type = Stores.store_type);

SELECT DISTINCT store_type FROM Stores

WHERE NOT EXISTS (SELECT * FROM Cities_Stores

WHERE Cities_Stores.store_type = Stores.store_type);

(四)

条件关联关系查询

SELECT column1 FROM t1 AS x

WHERE x.column1 = (SELECT column1 FROM t2 AS x

WHERE x.column1 = (SELECT column1 FROM t3

WHERE x.column2 = t3.column1));

跟其他数据库做法是一样的。

mysql将查询结果作为临时表查询_mysql使用查询结果作为临时表相关推荐

  1. mysql慢查询日志分析工具比较_MySQL慢查询日志总结 日志分析工具mysqldumpslow

    慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志 ...

  2. mysql查询只能是等式连接_mysql连接查询

    14.1 实验目的 (1)掌握多表连接查询的常用方法 (2)了解外连接查询的方法 14.2 预备知识 1.多表连接查询的意义 很多情况下,我们要查询的结果无法从一张表中得到.例如要想知道"参 ...

  3. mysql临时表空间_MySQL 5.7 深度解析: 临时表空间

    先来说说临时表的概念. 临时表顾名思义,就是临时的,用完销毁掉的表. 数据既可以保存在临时的文件系统上,也可以保存在固定的磁盘文件系统上. 临时表有下面几种: 全局临时表 这种临时表从数据库实例启动后 ...

  4. mysql子查询分为几种方法_MYSQL子查询的5种形式

    mysql从4.1版开始支持子查询功能,在此版本前,可以用join写连表查询来进行替代,但不推荐这么写,相当麻烦,mysql子查询的几种常 见写法: 1.select * from xxx where ...

  5. mysql 查询一个月的时间_mysql日期查询sql语句总结(查询一天,查询一周,查询一个月的数据)...

    我的日期 首先我们获取到的日期格式是这样的:2009-2-12或者2009-3-3或者2009-10-12,我们在组合sql语句的时候可以这样:(分了三个例子) 代码如下 @1select * fro ...

  6. mysql查询班级作业提交情况_MySQL中查询获取每个班级成绩前三名的学生信息

    标签: 今天有同事说到了怎么MySQL中查询获取每个班级成绩前三名的学生信息,在网上查了查,然后写出代码,很快就OK了. CREATE TABLE t_testscore(    pk_id INT ...

  7. mysql慢查询日志默认在哪里_MySQL 慢查询日志

    慢查询日志概念 MySQL 的慢查询日志是 MySQL 提供的一种日志记录,它用来记录在 MySQL 中查询响应时间超过阈值的语句,具体指响应时间超过 long_query_time 值的 SQL,会 ...

  8. mysql查找各科分数相同的学生_mysql中 查询各科成绩都在80以上的学生的姓名

    最近遇到一个关于mysql的查询的问题,就是在成绩表里查询各科成绩都在80以上(含80分)的学生姓名,在网上找了一个例子,供大家参考学习: 1. 2.也有人在网上用了别外的办法来查找,如下: 使用了分 ...

  9. mysql查询特定时间数据视频_MySQL如何查询指定时间数据

    mysql查询今天,昨天,近7天,近30天,本月,上一月数据的方法分析总结: 话说有一文章表article,存储文章的添加文章的时间是add_time字段,该字段为int(5)类型的,现需要查询今天添 ...

  10. mysql查询这一周数据库_mysql如何查询当前时间是星期几?

    select date_format(curdate(),'%w') from dual; 更多参考: MySQL中DATE_FORMAT(date, format)函数可根据format字符串格式化 ...

最新文章

  1. Java 10- 详解var关键字和示例教程
  2. ZooKeeper第三方客户端CuratorFramework简介
  3. 大型项目中会出现的一些问题:
  4. mysql5.7 非gtid同步
  5. android dbinfo函数,android SQLiteDatabase中的update函数用法?
  6. 美国发布新的安全备忘录,提升关键基础设施的网络安全
  7. 这12道经典性能测试人员面试题,你都见过哪几道?(下)
  8. 学习common-upload源码,理解上传原理
  9. Java设计模式(四)——再谈观察者模式
  10. windows技巧——notepad2 取代自带 notepad ,功能强大!
  11. 如何在vmware workstation 8下成功安装fedora 14
  12. K3 工业单据的对应相关表作用
  13. go语言两个json对比
  14. 神经网络为什么叫神经网络【一文看懂】
  15. Ceph 网络模块(1) - 网络模块基本结构
  16. you-get遇到的坑
  17. Linux内核:一文搞懂外设I/O内存资源的静态映射方式
  18. 计算机未安装打印机,Win7使用打印机突然提示“尚未安装打印机”怎么回事
  19. 使markdown文档中的图片居中
  20. C语言网 1881: 蓝桥杯2017年第八届真题-Excel地址(python)

热门文章

  1. windows10 强制关闭全屏游戏卡死的方法
  2. linux shell 看门狗,Linux 下如何使用看门狗
  3. FineReport报表工具最新版本细则
  4. 蚂蚁金服的“开放联盟链”如何影响现有公链
  5. HTML5七夕情人节表白网页制作【抖音超火的罗盘时钟】HTML+CSS+JavaScript
  6. 蓝桥杯简单题之十六进制转八进制(JAVA版)
  7. 说说在 Python 中如何处理文件系统路径
  8. 河北工业大学数据挖掘实验四 贝叶斯决策分类算法
  9. 物联网操作系统HelloX V1.82发布公告
  10. 支付宝小程序手机相册上传多个图片踩坑