| 您的当前位置:首页 --> MYSQL教程 |
| MySQL中列子查询与行子查询操作的学习教程 |
| 浏览次数:1298 关键词 ( ) |
|
MySQL 列子查询及 IN、ANY、SOME 和 ALL 操作符的使用 SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=1) 列子查询中使用 IN、ANY、SOME 和 ALL 操作符 由于列子查询返回的结果集是 N 行一列,因此不能直接使用 = > < >= <= <> 这些比较标量结果的操作符。在列子查询中可以使用 IN、ANY、SOME 和 ALL 操作符:
下面是原始数据表: table1: s1 2 10 table2: s2 5 12 20 ANY 操作符 s1 10 在子查询中,返回的是 table2 的所有 s2 列结果(5,12,20),然后将 table1 中的 s1 的值与之进行比较,只要大于 s2 的任何值即表示为 TRUE,符合查询条件。 SELECT s1 FROM table1 WHERE s1 > (SELECT s2 FROM table2) SELECT s1 FROM table1 WHERE s1 > ALL (SELECT MAX(s1) FROM table2) MySQL 行子查询 SELECT * FROM table1 WHERE (1,2) = (SELECT column1, column2 FROM table2) 在该例子中,在保证子查询返回单一行数据的前提下,如果 column1=1 且 column2=2 ,则该查询结果为 TRUE。
blog 表:
SQL 如下: SELECT * FROM article WHERE (title,content,uid) = (SELECT title,content,uid FROM blog WHERE bid=2) 查询返回结果如下所示:
在该行子查询例子中,将 article 表 title,content,uid 字段逐一与子查询返回的行记录作比较,如果相等则列出这些相等的记录(理论上可能不止一条)。 |
| 下载次数:8 |
| 下载地址:点击下载 |
| 本资源为程序自动采集,如有侵权请联系我们移除 admin#80vps.com 来信请将#替换为@ |
| 下一条 SQL计算timestamp的差值的方法 上一条 在MySQL中使用子查询和标量子查询的基本操作教程 |