JOIN 按照功能大致分为如下三类:
INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。
LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。
RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
INNER JOIN
mysql> SELECT a.php_id, a.user_author, b.user_count
FROM user_tbl a INNER JOIN tcount_tbl b ON a.user_author = b.user_author;
MySQL LEFT JOIN
MySQL left join 与 join 有所不同。 MySQL LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据。
实例
尝试以下实例,以 php_tbl 为左表,tcount_tbl 为右表,理解 MySQL LEFT JOIN 的应用:
RIGHT JOIN
mysql> SELECT a.user_id, a.user_author, b.user_count
FROM user_tbl a RIGHT JOIN tcount_tbl b ON a.user_author = b.user_author;
MySQL RIGHT JOIN
MySQL RIGHT JOIN 会读取右边数据表的全部数据,即便左边边表无对应数据。
实例
尝试以下实例,以 php_tbl 为左表,tcount_tbl 为右表,理解MySQL RIGHT JOIN的应用:
RIGHT JOIN
mysql> SELECT a.user_id, a.user_author, b.user_count
FROM user_tbl a RIGHT JOIN tcount_tbl b ON a.user_author = b.user_author;