zoukankan      html  css  js  c++  java
  • MySQL 行子查询

    MySQL 行子查询

    行子查询是指子查询返回的结果集是一行 N 列,该子查询的结果通常是对表的某行数据进行查询而返回的结果集。

    一个行子查询的例子如下:

    SELECT * FROM table1 WHERE (1,2) = (SELECT column1, column2 FROM table2)
    

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

    MySQL 行构造符

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

    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) = (SELECT title,content,uid FROM blog WHERE bid=2)
    

    查询返回结果如下所示:

    aidtitlecontentuid
    2 文章2 文章2正文内容... 1

    在该行子查询例子中,将 article 表 title,content,uid 字段逐一与子查询返回的行记录作比较,如果相等则列出这些相等的记录(理论上可能不止一条)。

  • 相关阅读:
    linux操作系统及内核
    2.1.1Remove Duplicates from Sorted Arr
    顺序表
    开博篇
    ssh无法root用户登录与登录界面无法选择用户登录
    Ubuntu 18.04 Server安装GUI桌面
    Linux 命令 su 和 sudo 区别
    坑(二十六)—— mysql出现ERROR1698(28000):Access denied for user root@localhost错误解决方法
    redhat安装wps
    gitlab重置root密码
  • 原文地址:https://www.cnblogs.com/zywf/p/4963246.html
Copyright © 2011-2022 走看看