Mysql之JOIN

Mysql之JOIN

Mysql之JOIN
Mysql之JOIN

INNER JOIN(内连接,或等值连接)

获取两个表中字段匹配关系的记录。
Mysql之JOIN
查看写了博客的作者的所有博客的博客名称和作者user_id(m_blog),并对应上作者的名字和邮箱(m_user)

select a.username,a.email,b.title,b.user_id from m_user a  inner  join m_blog b on a.id=b.user_id;

Mysql之JOIN

INNER JOIN=JOIN

其实这里的on替换成where也可以

select a.username,a.email,b.title,b.user_id from m_user a  join m_blog b where a.id=b.user_id;

Mysql之JOIN

LEFT JOIN(左连接)

获取左表所有记录,即使右表没有对应匹配的记录。
Mysql之JOIN
但是left和riht就不可以用where替换on

现在我要把所有的作者名和邮箱(m_user)都展示出来,而且不管他有没有写博客,展示出作者的id和博客的标题

select a.username,a.email,b.title,b.user_id from m_user a  left  join m_blog b on a.id=b.user_id;

Mysql之JOIN

RIGHT JOIN(右连接)

与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
Mysql之JOIN

现在要展示所有写了博客的人的user_id和博客标题(m_blog),同时展示作者的姓名和邮箱(m_user)

select a.username,a.email,b.title,b.user_id from m_user a  right  join m_blog b on a.id=b.user_id;

Mysql之JOIN

上一篇:msyql高级-索引设计原则


下一篇:gitlab clone 添加SSH公钥