mysql子查询
- 标量子查询:(子查询只有一个字段一条记录)
SELECT * FROM article WHERE uid = (SELECT uid FROM user WHERE status=1 ORDER BY uid DESC LIMIT 1)
//例如: SELECT * FROM article WHERE uid = 1
- 列子查询 :(子查询只有一个字段但有多条记录)
SELECT * FROM article WHERE uid IN(SELECT uid FROM user WHERE status=1)
//例如: SELECT * FROM article WHERE uid IN(1, 2, 3, 4 ....)
- 行子查询 :(子查询有三个字段但只有一条记录)
SELECT * FROM article WHERE (title,content,uid) = (SELECT title,content,uid FROM blog WHERE bid=2 LIMIT 1)
//例如: SELECT * FROM article WHERE (title,content,uid) = ('a', 'b', 'c')
- 表子查询 :(子查询有三个字段但有多条记录)
SELECT * FROM article WHERE (title,content,uid) IN (SELECT title,content,uid FROM blog)
//例如: SELECT * FROM article WHERE (title,content,uid) in (('a', 'b', 'c'), ('d', 'r', 'f'))