INNER JOIN 用于取得两个表中存在连接匹配关系的记录。下面是两个原始数据表:
aid | title | content | uid |
---|---|---|---|
1 | 文章1 | 文章1正文内容... | 1 |
2 | 文章2 | 文章2正文内容... | 1 |
3 | 文章3 | 文章3正文内容... | 2 |
4 | 文章4 | 文章4正文内容... | 4 |
uid | username | |
---|---|---|
1 | admin | admin@520mg.com |
2 | 小明 | xiao@163.com |
3 | Jack | jack@gmail.com |
article 表中文章的所属用户是通过 uid 这个字段与 user 表关联起来的。通过观察数据不难发现,对于 uid=3 的用户,并没有发表任何文章;而文章中 aid=4 却无法在 uid 表中找到对应记录(可能是该用户被删除而其所属的文章却被保留了下来)。
我们列出所用文章与用户一一对应的数据。
SELECT ... INNER JOIN ... ON 语句如下:
SELECT article.aid,article.title,user.username FROM article INNER JOIN user ON article.uid = user.uid
返回查询结果如下:
aid | title | username |
---|---|---|
1 | 文章1 | admin |
2 | 文章2 | admin |
3 | 文章3 | 小明 |
对于 INNER JOIN,等同与下面的 SQL 语句:
SELECT article.aid,article.title,user.username FROM article,user WHERE article.uid = user.uid