MySQL 表子查询

表子查询是指子查询返回的结果集是 N 行 N 列的一个表数据。

MySQL 表子查询实例

下面是用于例子的两张原始数据表:

article 表:

aidtitlecontentuid

1

文章1

文章1正文内容...

1

2

文章2

文章2正文内容...

1

3

文章3

文章3正文内容...

2

4

文章4

文章4正文内容...

3

blog 表:

bidtitlecontentuid

1

日志1

日志1正文内容...

1

2

文章2

文章2正文内容...

1

3

文章3

文章3正文内容...

2

SQL 如下:

SELECT * FROM article WHERE (title,content,uid) IN (SELECT title,content,uid FROM blog)

查询返回结果如下所示:

aidtitlecontentuid

2

文章2

文章2正文内容...

1

3

文章3

文章3正文内容...

2

对比前面行子查询的例子,将行子查询中的 WHERE bid=2 条件限制去掉之后,其返回的数据就是一个表记录(当然如果符合条件的记录只有一条,而成为行子查询记录,但我们认为这是一个表子查询)。

该 SQL 的意义在于查找 article 表中指定的字段同时也存在于 blog 表中的所有的行(注意 = 比较操作符换成了 IN),实际上等同于下面的条件语句:

SELECT * FROM article,blog

WHERE (article.title=blog.title AND article.content=blog.content AND article.uid=blog.uid)

实际上,后面的语句是经过 MySQL 优化的而效率更高,或者也可以使用 MySQL JOIN 表连接来实现。在此使用该例子只是为了便于描述表子查询的用法。

衍生数据表子查询

表子查询应用得更多情况是衍生数据表子查询,即首先执行子查询生成临时表,外层主查询再到此临时表中获取数据。具体参见《MySQL FROM 子查询》。

mysql 同表子查询_MySQL 表子查询相关推荐

  1. mysql取消外码约束_MySQL 关闭子表的外键约束检察方法

    准备: 定义一个教师表.一个学生表:在学生表中引用教师表ID create table teachers(teacherID int not null auto_increment primary k ...

  2. mysql子查询教行子查询_MySQL中列子查询与行子查询操作的学习教程

    MysqL 列子查询及 IN.ANY.SOME 和 ALL 操作符的使用MysqL 列子查询 列子查询是指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回. 一个列子查询的例子如 ...

  3. mysql联合查询怎么加子查询_MySQL数据库 —子查询,联合查询

    编程之家收集整理的这篇文章主要介绍了MySQL数据库 -子查询,联合查询,编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考. <MySQL数据库 -子查询,联合查询>要点: 本文 ...

  4. mysql select符合查询_mysql学习-select查询,子查询,联接查询,union,intersect,except联合...

    先设定两个表格: 第一个表格user包含:user_id.username.age.sex 第二个表格toy包含:user_id.toyname 普通查询: 查询关键字:AS, SUM, DESC, ...

  5. mysql连表条件查询_mysql带条件查询,联表查询

    ---恢复内容开始---mysql 1,用于设定所select出来的数据是否容许出现重复行(彻底相同的数据行)sql all:容许出现--默认不写就是All(容许的).spa distinct:不容许 ...

  6. mysql 外键查询_mysql 外键查询(mysql数据库多表联查)

    mysql 外键查询(mysql数据库多表联查) 2020-07-24 11:51:00 共10个回答 查看方式主要是通过第三方工具或者是sql语句,主要有以下三种方式1:使用Navicateform ...

  7. mysql表单查询_MySQL表单集合查询

    表单查询 简单查询 SELECT语句 查询所有字段 指定所有字段:select 字段名1,字段名2,...from 表名; select * from 表名; 查询指定字段 select 字段名1,字 ...

  8. mysql 什么是子查询_MySQL之子查询

    测试数据 create table emp (id int,name char(10),sex char,age int,dept_id int,job char(10),salary double) ...

  9. mysql 表空间收缩_mysql表碎片清理和表空间收缩

    mysql表碎片清理和表空间收缩(即清理碎片后report_site_day.ibd文件磁盘空间减小,该方案基于独立表空间存储方式) OPTIMIZETABLE [tablename],当然这种方式只 ...

最新文章

  1. 软考安全工程师历年真题汇总
  2. dg修改归档目录 oracle_DG环境下ORACLE自动回收归档空间
  3. Windows7修改hosts提示:您没有权限在此位置中保存文件
  4. android emulator培训,android emulator(未完)
  5. python3.7怎么安装wsgiref_python3.x - python3使用wsgiref时环境变量出现乱码
  6. js中的内置对象(详细篇)
  7. Golang并发编程进程通信channel了解及简单使用
  8. 邮件中html格式转换,如何在宏中将邮件格式更改为html?
  9. 猿创征文 | 国产数据库之神通数据库详解安装和使用
  10. 人声混音处理的基本步骤和常用插件
  11. 利用电力声类比与有限元仿真方法分析亥姆霍兹共振器
  12. 四川行无疆电商讲解拼多多电商产品销量如何清零
  13. 小米手机+MIUI系统开发版线刷到稳定版(小米8+MIUI10)
  14. Python快速判断素数方法
  15. android版本下载京东,手机京东历史版本
  16. IPv6技术精要--第12-13章 ICMPv6和邻居发现协议(ND协议)
  17. 数据库面试考题一览(全面覆盖)
  18. LC-3 中断实验 (深大计系1实验5)
  19. 特色英文短语[转帖]
  20. ZUCC_操作系统原理实验_Lab9进程的通信消息队列

热门文章

  1. python表白源代码加音乐_Python 表白?别傻了,女神是拿来撩的!
  2. Android 动画绘制移动的小人
  3. linux创建ssh牢笼用户
  4. MT207C8烧机步骤
  5. 【ubuntu】20.04版本解决网络显卡花屏问题
  6. javaweb课程设计手机商城
  7. Linux下diff命令用法详解
  8. java xsd_Java如何把任意xsd转成xml
  9. 树莓派控制固态继电器的使用
  10. 鼠标猫html,游标猫(鼠标特效插件)