在MySQL中使用子查询和标量子查询的基本操作教程
MySQL 子查询 SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=1) 对应的两个数据表如下: user 用户表: 查询返回结果如下所示: 在该例子中,首先通过子查询语句查询出所有 status=1 的 uid,实际的查询类似于: SELECT * FROM article WHERE uid IN(1,2) MySQL 标量子查询 SELECT * FROM article WHERE uid = (SELECT uid FROM user WHERE status=1 ORDER BY uid DESC LIMIT 1) 在该例子中,子查询语句: SELECT uid FROM user WHERE status = 1 ORDER BY uid DESC LIMIT 1 返回的是单一的数字(如 2),实际的查询语句为: SELECT * FROM article WHERE uid = 2 使用子查询进行比较 SELECT * FROM t1 WHERE column1 = (SELECT MAX(column2) FROM t2) 提示 SELECT * FROM t1 WHERE column1 = (SELECT MAX(column2) FROM t2) 以及下例: SELECT * FROM article AS t WHERE 2 = (SELECT COUNT(*) FROM article WHERE article.uid = t.uid) 该例子要找出用户发表了 2 篇文章的所有文章记录。对应的两个数据表如下: user 用户表: 查询返回结果如下所示: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |